commit
3e3d11fe1c
@ -16,37 +16,14 @@ trigger:
|
|||||||
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
|
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
|
||||||
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
|
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
|
||||||
jobs:
|
jobs:
|
||||||
- job: BuildLinux
|
- template: ../buildimages.yaml
|
||||||
pool:
|
parameters:
|
||||||
vmImage: 'ubuntu-16.04'
|
services: mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw
|
||||||
steps:
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
displayName: Compose build apigws
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
inputs:
|
- template: ../multiarch.yaml
|
||||||
dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
parameters:
|
||||||
containerregistrytype: Container Registry
|
image: ocelotapigw
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
branch: $(Build.SourceBranchName)
|
||||||
dockerComposeFile: docker-compose.yml
|
registryEndpoint: $(registryEndpoint)
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push apigws
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -12,34 +10,15 @@ trigger:
|
|||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Services/Basket/*
|
- src/Services/Basket/*
|
||||||
- k8s/helm/basket-api/*
|
- k8s/helm/basket-api/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build basket
|
parameters:
|
||||||
inputs:
|
services: basket.api
|
||||||
dockerComposeCommand: 'build basket.api'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: basket.api
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push basket
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push basket.api'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
||||||
|
92
build/azure-devops/buildimages.yaml
Normal file
92
build/azure-devops/buildimages.yaml
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
parameters:
|
||||||
|
services: ''
|
||||||
|
registryEndpoint: ''
|
||||||
|
helmfrom: ''
|
||||||
|
helmto: ''
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: BuildContainersForPR_Linux
|
||||||
|
condition: eq('${{ variables['Build.Reason'] }}', 'PullRequest')
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
steps:
|
||||||
|
- bash: docker-compose build ${{ parameters.services }}
|
||||||
|
displayName: Create multiarch manifest
|
||||||
|
env:
|
||||||
|
TAG: ${{ variables['Build.SourceBranchName'] }}
|
||||||
|
- job: BuildContainersForPR_Windows
|
||||||
|
condition: eq('${{ variables['Build.Reason'] }}', 'PullRequest')
|
||||||
|
pool:
|
||||||
|
vmImage: 'windows-2019'
|
||||||
|
steps:
|
||||||
|
- bash: docker-compose build ${{ parameters.services }}
|
||||||
|
displayName: Create multiarch manifest
|
||||||
|
env:
|
||||||
|
TAG: ${{ variables['Build.SourceBranchName'] }}
|
||||||
|
PLATFORM: win
|
||||||
|
NODE_IMAGE: stefanscherer/node-windows:8.11
|
||||||
|
- job: BuildLinux
|
||||||
|
condition: ne('${{ variables['Build.Reason'] }}', 'PullRequest')
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-16.04'
|
||||||
|
steps:
|
||||||
|
- task: DockerCompose@0
|
||||||
|
displayName: Compose build ${{ parameters.services }}
|
||||||
|
inputs:
|
||||||
|
dockerComposeCommand: 'build ${{ parameters.services }}'
|
||||||
|
containerregistrytype: Container Registry
|
||||||
|
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||||
|
dockerComposeFile: docker-compose.yml
|
||||||
|
qualifyImageNames: true
|
||||||
|
projectName: ""
|
||||||
|
dockerComposeFileArgs: |
|
||||||
|
TAG=${{ variables['Build.SourceBranchName'] }}
|
||||||
|
- task: DockerCompose@0
|
||||||
|
displayName: Compose push ${{ parameters.images }}
|
||||||
|
inputs:
|
||||||
|
dockerComposeCommand: 'push ${{ parameters.services }}'
|
||||||
|
containerregistrytype: Container Registry
|
||||||
|
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||||
|
dockerComposeFile: docker-compose.yml
|
||||||
|
qualifyImageNames: true
|
||||||
|
projectName: ""
|
||||||
|
dockerComposeFileArgs: |
|
||||||
|
TAG=${{ variables['Build.SourceBranchName'] }}
|
||||||
|
- task: CopyFiles@2
|
||||||
|
inputs:
|
||||||
|
sourceFolder: ${{ parameters.helmfrom }}
|
||||||
|
targetFolder: ${{ parameters.helmto }}
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
inputs:
|
||||||
|
pathtoPublish: ${{ parameters.helmto }}
|
||||||
|
artifactName: helm
|
||||||
|
- job: BuildWindows
|
||||||
|
condition: ne('${{ variables['Build.Reason'] }}', 'PullRequest')
|
||||||
|
pool:
|
||||||
|
vmImage: 'windows-2019'
|
||||||
|
steps:
|
||||||
|
- task: DockerCompose@0
|
||||||
|
displayName: Compose build ${{ parameters.services }}
|
||||||
|
inputs:
|
||||||
|
dockerComposeCommand: 'build ${{ parameters.services }}'
|
||||||
|
containerregistrytype: Container Registry
|
||||||
|
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||||
|
dockerComposeFile: docker-compose.yml
|
||||||
|
qualifyImageNames: true
|
||||||
|
projectName: ""
|
||||||
|
dockerComposeFileArgs: |
|
||||||
|
TAG=${{ variables['Build.SourceBranchName'] }}
|
||||||
|
PLATFORM=win
|
||||||
|
NODE_IMAGE=stefanscherer/node-windows:8.11
|
||||||
|
- task: DockerCompose@0
|
||||||
|
displayName: Compose push ${{ parameters.services }}
|
||||||
|
inputs:
|
||||||
|
dockerComposeCommand: 'push ${{ parameters.services }}'
|
||||||
|
containerregistrytype: Container Registry
|
||||||
|
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||||
|
dockerComposeFile: docker-compose.yml
|
||||||
|
qualifyImageNames: true
|
||||||
|
projectName: ""
|
||||||
|
dockerComposeFileArgs: |
|
||||||
|
TAG=${{ variables['Build.SourceBranchName'] }}
|
||||||
|
PLATFORM=win
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -12,34 +10,15 @@ trigger:
|
|||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Services/Catalog/*
|
- src/Services/Catalog/*
|
||||||
- k8s/helm/catalog-api/*
|
- k8s/helm/catalog-api/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build catalog
|
parameters:
|
||||||
inputs:
|
services: catalog.api
|
||||||
dockerComposeCommand: 'build catalog.api'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: catalog.api
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push catalog
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push catalog.api'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -12,34 +10,15 @@ trigger:
|
|||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Services/Identity/*
|
- src/Services/Identity/*
|
||||||
- k8s/helm/identity-api/*
|
- k8s/helm/identity-api/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build identity
|
parameters:
|
||||||
inputs:
|
services: identity.api
|
||||||
dockerComposeCommand: 'build identity.api'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: identity.api
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push identity
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push identity.api'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -11,35 +9,16 @@ trigger:
|
|||||||
include:
|
include:
|
||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Services/Location/*
|
- src/Services/Location/*
|
||||||
- k8s/helm/locations-api/*
|
- k8s/helm/locations-api/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build locations
|
parameters:
|
||||||
inputs:
|
services: locations.api
|
||||||
dockerComposeCommand: 'build locations.api'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: locations.api
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push locations
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push locations.api'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -11,35 +9,16 @@ trigger:
|
|||||||
include:
|
include:
|
||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Services/Marketing/*
|
- src/Services/Marketing/*
|
||||||
- k8s/helm/marketing-api/*
|
- k8s/helm/marketing-api/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build marketing
|
parameters:
|
||||||
inputs:
|
services: marketing.api
|
||||||
dockerComposeCommand: 'build marketing.api'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: marketing.api
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push marketing
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push marketing.api'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -10,35 +8,17 @@ trigger:
|
|||||||
paths:
|
paths:
|
||||||
include:
|
include:
|
||||||
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
|
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
|
||||||
- k8s/helm/mobileshoppingagg/*
|
- k8s/helm/mobileshoppingagg/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build mobileshoppingagg
|
parameters:
|
||||||
inputs:
|
services: mobileshoppingagg
|
||||||
dockerComposeCommand: 'build mobileshoppingagg'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: mobileshoppingagg
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push mobileshoppingagg
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push mobileshoppingagg'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
||||||
|
30
build/azure-devops/multiarch.yaml
Normal file
30
build/azure-devops/multiarch.yaml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
parameters:
|
||||||
|
image: ''
|
||||||
|
branch: ''
|
||||||
|
registry: 'eshop'
|
||||||
|
registryEndpoint: ''
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: manifest
|
||||||
|
condition: and(succeeded(),ne('${{ variables['Build.Reason'] }}', 'PullRequest'))
|
||||||
|
dependsOn:
|
||||||
|
- BuildWindows
|
||||||
|
- BuildLinux
|
||||||
|
pool:
|
||||||
|
vmImage: 'Ubuntu 16.04'
|
||||||
|
steps:
|
||||||
|
- task: Docker@1
|
||||||
|
displayName: Docker Login
|
||||||
|
inputs:
|
||||||
|
command: login
|
||||||
|
containerregistrytype: 'Container Registry'
|
||||||
|
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
|
||||||
|
- bash: |
|
||||||
|
mkdir -p ~/.docker
|
||||||
|
sed '$ s/.$//' $DOCKER_CONFIG/config.json > ~/.docker/config.json
|
||||||
|
echo ',"experimental": "enabled" }' >> ~/.docker/config.json
|
||||||
|
docker --config ~/.docker manifest create ${{ parameters.registry }}/${{ parameters.image }}:${{ parameters.branch }} ${{ parameters.registry }}/${{ parameters.image }}:linux-${{ parameters.branch }} ${{ parameters.registry }}/${{ parameters.image }}:win-${{ parameters.branch }}
|
||||||
|
docker --config ~/.docker manifest create ${{ parameters.registry }}/${{ parameters.image }}:latest ${{ parameters.registry }}/${{ parameters.image }}:linux-latest ${{ parameters.registry }}/${{ parameters.image }}:win-latest
|
||||||
|
docker --config ~/.docker manifest push ${{ parameters.registry }}/${{ parameters.image }}:${{ parameters.branch }}
|
||||||
|
docker --config ~/.docker manifest push ${{ parameters.registry }}/${{ parameters.image }}:latest
|
||||||
|
displayName: Create multiarch manifest
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -14,34 +12,15 @@ trigger:
|
|||||||
- k8s/helm/ordering-api/*
|
- k8s/helm/ordering-api/*
|
||||||
- k8s/helm/ordering-backgroundtasks/*
|
- k8s/helm/ordering-backgroundtasks/*
|
||||||
- k8s/helm/ordering-signalrhub/*
|
- k8s/helm/ordering-signalrhub/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build ordering
|
parameters:
|
||||||
inputs:
|
services: ordering.api
|
||||||
dockerComposeCommand: 'build ordering.api ordering.backgroundtasks ordering.signalrhub'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: ordering.api
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push ordering
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push ordering.api ordering.backgroundtasks ordering.signalrhub'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -12,34 +10,15 @@ trigger:
|
|||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Services/Payment/*
|
- src/Services/Payment/*
|
||||||
- k8s/helm/payment-api/*
|
- k8s/helm/payment-api/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build payment
|
parameters:
|
||||||
inputs:
|
services: payment.api
|
||||||
dockerComposeCommand: 'build payment.api'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: payment.api
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push payment
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push payment.api'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -10,35 +8,16 @@ trigger:
|
|||||||
paths:
|
paths:
|
||||||
include:
|
include:
|
||||||
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
|
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
|
||||||
- k8s/helm/webshoppingagg/*
|
- k8s/helm/webshoppingagg/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build webshoppingagg
|
parameters:
|
||||||
inputs:
|
services: webshoppingagg
|
||||||
dockerComposeCommand: 'build webshoppingagg'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: webshoppingagg
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push webshoppingagg
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push webshoppingagg'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -11,35 +9,16 @@ trigger:
|
|||||||
include:
|
include:
|
||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Services/Webhooks/*
|
- src/Services/Webhooks/*
|
||||||
- k8s/helm/webhooks-api/*
|
- k8s/helm/webhooks-api/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build webhooks
|
parameters:
|
||||||
inputs:
|
services: webhooks.api
|
||||||
dockerComposeCommand: 'build webhooks.api'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: webhooks.api
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push webhooks
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push webhooks.api'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -11,35 +9,16 @@ trigger:
|
|||||||
include:
|
include:
|
||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Web/WebhookClient/*
|
- src/Web/WebhookClient/*
|
||||||
- k8s/helm/webhooks-web/*
|
- k8s/helm/webhooks-web/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build webhooks.client
|
parameters:
|
||||||
inputs:
|
services: webhooks.client
|
||||||
dockerComposeCommand: 'build webhooks.client'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
helmfrom: $(Build.SourcesDirectory)/k8s/helm
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
helmto: $(Build.ArtifactStagingDirectory)/k8s/helm
|
||||||
dockerComposeFile: docker-compose.yml
|
- template: ../multiarch.yaml
|
||||||
qualifyImageNames: true
|
parameters:
|
||||||
projectName: ""
|
image: webhooks.client
|
||||||
dockerComposeFileArgs: |
|
branch: $(Build.SourceBranchName)
|
||||||
TAG=$(Build.SourceBranchName)
|
registryEndpoint: $(registryEndpoint)
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push webhooks.client
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push webhooks.client'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -11,35 +9,14 @@ trigger:
|
|||||||
include:
|
include:
|
||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Web/WebMVC/*
|
- src/Web/WebMVC/*
|
||||||
- k8s/helm/webmvc/*
|
- k8s/helm/webmvc/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build webmvc
|
parameters:
|
||||||
inputs:
|
services: webmvc
|
||||||
dockerComposeCommand: 'build webmvc'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
- template: ../multiarch.yaml
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
parameters:
|
||||||
dockerComposeFile: docker-compose.yml
|
image: webmvc
|
||||||
qualifyImageNames: true
|
branch: $(Build.SourceBranchName)
|
||||||
projectName: ""
|
registryEndpoint: $(registryEndpoint)
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push webmvc
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push webmvc'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -12,34 +10,13 @@ trigger:
|
|||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Web/WebSPA/*
|
- src/Web/WebSPA/*
|
||||||
- k8s/helm/webspa/*
|
- k8s/helm/webspa/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build webspa
|
parameters:
|
||||||
inputs:
|
services: webspa
|
||||||
dockerComposeCommand: 'build webspa'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
- template: ../multiarch.yaml
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
parameters:
|
||||||
dockerComposeFile: docker-compose.yml
|
image: webspa
|
||||||
qualifyImageNames: true
|
branch: $(Build.SourceBranchName)
|
||||||
projectName: ""
|
registryEndpoint: $(registryEndpoint)
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push webspa
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push webspa'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
@ -1,5 +1,3 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
variables:
|
variables:
|
||||||
registryEndpoint: eshop-registry
|
registryEndpoint: eshop-registry
|
||||||
trigger:
|
trigger:
|
||||||
@ -11,35 +9,14 @@ trigger:
|
|||||||
include:
|
include:
|
||||||
- src/BuildingBlocks/*
|
- src/BuildingBlocks/*
|
||||||
- src/Web/WebStatus/*
|
- src/Web/WebStatus/*
|
||||||
- k8s/helm/webstatus/*
|
- k8s/helm/webstatus/*
|
||||||
steps:
|
jobs:
|
||||||
- task: DockerCompose@0
|
- template: ../buildimages.yaml
|
||||||
displayName: Compose build webstatus
|
parameters:
|
||||||
inputs:
|
services: webstatus
|
||||||
dockerComposeCommand: 'build webstatus'
|
registryEndpoint: $(registryEndpoint)
|
||||||
containerregistrytype: Container Registry
|
- template: ../multiarch.yaml
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
parameters:
|
||||||
dockerComposeFile: docker-compose.yml
|
image: webstatus
|
||||||
qualifyImageNames: true
|
branch: $(Build.SourceBranchName)
|
||||||
projectName: ""
|
registryEndpoint: $(registryEndpoint)
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: DockerCompose@0
|
|
||||||
displayName: Compose push webstatus
|
|
||||||
inputs:
|
|
||||||
dockerComposeCommand: 'push webstatus'
|
|
||||||
containerregistrytype: Container Registry
|
|
||||||
dockerRegistryEndpoint: $(registryEndpoint)
|
|
||||||
dockerComposeFile: docker-compose.yml
|
|
||||||
qualifyImageNames: true
|
|
||||||
projectName: ""
|
|
||||||
dockerComposeFileArgs: |
|
|
||||||
TAG=$(Build.SourceBranchName)
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
inputs:
|
|
||||||
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
|
|
||||||
artifactName: helm
|
|
@ -111,6 +111,7 @@ services:
|
|||||||
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
- OrchestratorType=${ORCHESTRATOR_TYPE}
|
||||||
- UseLoadTest=${USE_LOADTEST:-False}
|
- UseLoadTest=${USE_LOADTEST:-False}
|
||||||
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
|
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
|
||||||
|
- Serilog__MinimumLevel__Override__Ordering.API=Verbose
|
||||||
ports:
|
ports:
|
||||||
- "5102:80" # Important: In a production environment your should remove the external port (5102) kept here for microservice debugging purposes.
|
- "5102:80" # Important: In a production environment your should remove the external port (5102) kept here for microservice debugging purposes.
|
||||||
# The API Gateway redirects and access through the internal port (80).
|
# The API Gateway redirects and access through the internal port (80).
|
||||||
|
@ -214,6 +214,8 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: src/Web/WebSPA/Dockerfile
|
dockerfile: src/Web/WebSPA/Dockerfile
|
||||||
|
args:
|
||||||
|
- NODE_IMAGE=${NODE_IMAGE:-node:8.11}
|
||||||
# depends_on:
|
# depends_on:
|
||||||
# - webshoppingagg
|
# - webshoppingagg
|
||||||
# - webshoppingapigw
|
# - webshoppingapigw
|
||||||
|
Binary file not shown.
Binary file not shown.
BIN
docs/MicrosoftAzure_StartGuide_Developers-old.pdf
Normal file
BIN
docs/MicrosoftAzure_StartGuide_Developers-old.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
img/eShopScreen.png
Normal file
BIN
img/eShopScreen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 334 KiB |
Binary file not shown.
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 45 KiB |
Binary file not shown.
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 30 KiB |
@ -29,7 +29,7 @@ app: # app global settings
|
|||||||
catalog: catalog # service name for catalog api
|
catalog: catalog # service name for catalog api
|
||||||
ordering: ordering # service name for ordering api
|
ordering: ordering # service name for ordering api
|
||||||
orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks
|
orderingbackgroundtasks: orderingbackgroundtasks # service name for orderingbackgroundtasks
|
||||||
orderingsignalrhub: ordering-signalrhub # service name for orderingsignalrhub
|
orderingsignalrhub: ordering-signalrhub # service name for orderingsignalrhub
|
||||||
identity: identity # service name for identity api
|
identity: identity # service name for identity api
|
||||||
mvc: webmvc # service name for web mvc
|
mvc: webmvc # service name for web mvc
|
||||||
spa: webspa # service name for web spa
|
spa: webspa # service name for web spa
|
||||||
|
@ -15,5 +15,5 @@ data:
|
|||||||
urls__IdentityUrl: http://{{ $identity }}
|
urls__IdentityUrl: http://{{ $identity }}
|
||||||
basket__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
basket__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -16,5 +16,5 @@ data:
|
|||||||
catalog__PicBaseUrl: http://{{ $webshoppingapigw }}/api/v1/c/catalog/items/[0]/pic/
|
catalog__PicBaseUrl: http://{{ $webshoppingapigw }}/api/v1/c/catalog/items/[0]/pic/
|
||||||
catalog__AzureStorageEnabled: "{{ .Values.inf.misc.useAzureStorage }}"
|
catalog__AzureStorageEnabled: "{{ .Values.inf.misc.useAzureStorage }}"
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -67,7 +67,7 @@ $charts = ("eshop-common", "apigwmm", "apigwms", "apigwwm", "apigwws", "basket-a
|
|||||||
if ($deployInfrastructure) {
|
if ($deployInfrastructure) {
|
||||||
foreach ($infra in $infras) {
|
foreach ($infra in $infras) {
|
||||||
Write-Host "Installing infrastructure: $infra" -ForegroundColor Green
|
Write-Host "Installing infrastructure: $infra" -ForegroundColor Green
|
||||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --name="$appName-$infra" $infra
|
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --name="$appName-$infra" $infra
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -78,11 +78,11 @@ if ($deployCharts) {
|
|||||||
foreach ($chart in $charts) {
|
foreach ($chart in $charts) {
|
||||||
Write-Host "Installing: $chart" -ForegroundColor Green
|
Write-Host "Installing: $chart" -ForegroundColor Green
|
||||||
if ($useCustomRegistry) {
|
if ($useCustomRegistry) {
|
||||||
helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
helm install --set inf.registry.server=$registry --set inf.registry.login=$dockerUser --set inf.registry.pwd=$dockerPassword --set inf.registry.secretName=eshop-docker-scret --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed
|
if ($chart -ne "eshop-common") { # eshop-common is ignored when no secret must be deployed
|
||||||
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set ingress.hosts={$dns} --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
helm install --values app.yaml --values inf.yaml --values $ingressValuesFile --set app.name=$appName --set inf.k8s.dns=$dns --set "ingress.hosts={$dns}" --set image.tag=$imageTag --set image.pullPolicy=Always --name="$appName-$chart" $chart
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ metadata:
|
|||||||
data:
|
data:
|
||||||
identity__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.identity.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
identity__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.identity.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
||||||
identity__keystore: {{ .Values.inf.redis.keystore.constr }}
|
identity__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
mvc_e: http://{{ $mvc_url }}
|
mvc_e: http://{{ $mvc_url }}
|
||||||
spa_e: http://{{ $spa_url }}
|
spa_e: http://{{ $spa_url }}
|
||||||
locations_e: http://{{ $locations_url }}
|
locations_e: http://{{ $locations_url }}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# This heml values file defines all infrastructure used by eShopOnContainers.
|
# This helm values file defines all infrastructure used by eShopOnContainers.
|
||||||
# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment
|
# It is used on all charts, so ** MUST BE INCLUDED ** on every deployment
|
||||||
|
|
||||||
inf:
|
inf:
|
||||||
@ -15,11 +15,11 @@ inf:
|
|||||||
identity:
|
identity:
|
||||||
db: IdentityDb # Ordering API SQL db name
|
db: IdentityDb # Ordering API SQL db name
|
||||||
marketing:
|
marketing:
|
||||||
db: MarketingDb # Marketing API SQL db name
|
db: MarketingDb # Marketing API SQL db name
|
||||||
webhooks:
|
webhooks:
|
||||||
db: WebhooksDb # Webhooks DB
|
db: WebhooksDb # Webhooks DB
|
||||||
mongo:
|
mongo:
|
||||||
# host: my-nosql-data # Uncomment to use specify custom mongo host. By default nosql-data is used
|
# host: my-nosql-data # Uncomment to use specify custom mongo host. By default nosql-data is used
|
||||||
locations:
|
locations:
|
||||||
database: LocationsDb
|
database: LocationsDb
|
||||||
marketing:
|
marketing:
|
||||||
|
@ -13,7 +13,7 @@ metadata:
|
|||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
internalurls__IdentityUrl: http://{{ .Values.app.svc.identity }}
|
internalurls__IdentityUrl: http://{{ .Values.app.svc.identity }}
|
||||||
|
@ -15,7 +15,7 @@ metadata:
|
|||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
internalurls__IdentityUrl: http://{{ .Values.app.svc.identity }}
|
internalurls__IdentityUrl: http://{{ .Values.app.svc.identity }}
|
||||||
|
@ -10,7 +10,7 @@ metadata:
|
|||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
mobileshoppingagg__keystore: {{ .Values.inf.redis.keystore.constr }}
|
mobileshoppingagg__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||||
internalurls__basket: http://{{ .Values.app.svc.basket }}
|
internalurls__basket: http://{{ .Values.app.svc.basket }}
|
||||||
|
@ -16,5 +16,5 @@ data:
|
|||||||
ordering__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
ordering__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
urls__IdentityUrl: http://{{ $identity }}
|
urls__IdentityUrl: http://{{ $identity }}
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -15,7 +15,7 @@ data:
|
|||||||
ordering__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.ordering.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
ordering__ConnectionString: Server={{ $sqlsrv }};Initial Catalog={{ .Values.inf.sql.ordering.db }};User Id={{ .Values.inf.sql.common.user }};Password={{ .Values.inf.sql.common.pwd }};
|
||||||
ordering__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
ordering__EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||||
graceperiodmanager__CheckUpdateTime: "{{ .Values.cfg.checkUpdateTime }}"
|
graceperiodmanager__CheckUpdateTime: "{{ .Values.cfg.checkUpdateTime }}"
|
||||||
graceperiodmanager__GracePeriodTime: "{{ .Values.cfg.gracePeriodTime }}"
|
graceperiodmanager__GracePeriodTime: "{{ .Values.cfg.gracePeriodTime }}"
|
@ -12,7 +12,7 @@ metadata:
|
|||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||||
signalr__StoreConnectionString: {{ .Values.inf.redis.keystore.constr }}
|
signalr__StoreConnectionString: {{ .Values.inf.redis.keystore.constr }}
|
||||||
urls__IdentityUrl: http://{{ $identity }}
|
urls__IdentityUrl: http://{{ $identity }}
|
@ -11,5 +11,5 @@ metadata:
|
|||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -16,5 +16,5 @@ data:
|
|||||||
urls__IdentityUrl: http://{{ $identity }}
|
urls__IdentityUrl: http://{{ $identity }}
|
||||||
urls__IdentityUrlExternal: http://{{ $identity }}
|
urls__IdentityUrlExternal: http://{{ $identity }}
|
||||||
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
all__EventBusConnection: {{ .Values.inf.eventbus.constr }}
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
@ -14,7 +14,7 @@ metadata:
|
|||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
webmvc__keystore: {{ .Values.inf.redis.keystore.constr }}
|
webmvc__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||||
|
@ -10,7 +10,7 @@ metadata:
|
|||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
webshoppingagg__keystore: {{ .Values.inf.redis.keystore.constr }}
|
webshoppingagg__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||||
internalurls__basket: http://{{ .Values.app.svc.basket }}
|
internalurls__basket: http://{{ .Values.app.svc.basket }}
|
||||||
|
@ -16,7 +16,7 @@ metadata:
|
|||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
webspa__keystore: {{ .Values.inf.redis.keystore.constr }}
|
webspa__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||||
internalurls__apigwws: http://{{ .Values.app.svc.webshoppingapigw }}
|
internalurls__apigwws: http://{{ .Values.app.svc.webshoppingapigw }}
|
||||||
|
@ -15,7 +15,7 @@ metadata:
|
|||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
data:
|
data:
|
||||||
all__InstrumentationKey: {{ .Values.inf.appinsights.key }}
|
all__InstrumentationKey: "{{ .Values.inf.appinsights.key }}"
|
||||||
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
all__UseAzureServiceBus: "{{ .Values.inf.eventbus.useAzure }}"
|
||||||
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
all_EnableLoadTest: "{{ .Values.inf.misc.useLoadTest }}"
|
||||||
webstatus__keystore: {{ .Values.inf.redis.keystore.constr }}
|
webstatus__keystore: {{ .Values.inf.redis.keystore.constr }}
|
||||||
|
@ -7,7 +7,7 @@ This file contains links to the documentation of the project.
|
|||||||
## Documentation included in files
|
## Documentation included in files
|
||||||
|
|
||||||
* [Branch Guide](../branch-guide.md): List of branches used and their purpose.
|
* [Branch Guide](../branch-guide.md): List of branches used and their purpose.
|
||||||
* [vsts-docs folder](../vsts-docs/readme.md): Information about how to setup a CI/CD procedure using VSTS
|
* [vsts-docs folder](../vsts-docs/readme.md): Information about how to setup a CI/CD procedure using Azure DevOps
|
||||||
* [Kubernetes](../k8s/readme.md): Information about how to deploy eShopOnContainers in a kubernetes cluster, and how to setup a CI/CD for k8s using VSTS
|
* [Kubernetes](../k8s/readme.md): Information about how to deploy eShopOnContainers in a kubernetes cluster, and how to setup a CI/CD for k8s using VSTS
|
||||||
* [deploy](../deploy/readme.md): Information about how deploy Azure resources using the Azure CLI 2.0.
|
* [deploy](../deploy/readme.md): Information about how deploy Azure resources using the Azure CLI 2.0.
|
||||||
* [.env file](./README.ENV.md): What is the `.env` file and how to use it to configure eShopOnContainers to use external resources (like Azure)
|
* [.env file](./README.ENV.md): What is the `.env` file and how to use it to configure eShopOnContainers to use external resources (like Azure)
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/ApiGateways/ApiGw-Base/
|
WORKDIR /src/src/ApiGateways/ApiGw-Base/
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -36,15 +36,9 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve the current basket
|
// Retrieve the current basket
|
||||||
var currentBasket = await _basket.GetByIdAsync(data.BuyerId);
|
var basket = await _basket.GetByIdAsync(data.BuyerId) ?? new BasketData(data.BuyerId);
|
||||||
|
|
||||||
if (currentBasket == null)
|
|
||||||
{
|
|
||||||
currentBasket = new BasketData(data.BuyerId);
|
|
||||||
}
|
|
||||||
|
|
||||||
var catalogItems = await _catalog.GetCatalogItemsAsync(data.Items.Select(x => x.ProductId));
|
var catalogItems = await _catalog.GetCatalogItemsAsync(data.Items.Select(x => x.ProductId));
|
||||||
var newBasket = new BasketData(data.BuyerId);
|
|
||||||
|
|
||||||
foreach (var bitem in data.Items)
|
foreach (var bitem in data.Items)
|
||||||
{
|
{
|
||||||
@ -54,7 +48,7 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Controllers
|
|||||||
return BadRequest($"Basket refers to a non-existing catalog item ({bitem.ProductId})");
|
return BadRequest($"Basket refers to a non-existing catalog item ({bitem.ProductId})");
|
||||||
}
|
}
|
||||||
|
|
||||||
newBasket.Items.Add(new BasketDataItem()
|
basket.Items.Add(new BasketDataItem()
|
||||||
{
|
{
|
||||||
Id = bitem.Id,
|
Id = bitem.Id,
|
||||||
ProductId = catalogItem.Id.ToString(),
|
ProductId = catalogItem.Id.ToString(),
|
||||||
@ -65,9 +59,9 @@ namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator.Controllers
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
await _basket.UpdateAsync(newBasket);
|
await _basket.UpdateAsync(basket);
|
||||||
|
|
||||||
return newBasket;
|
return basket;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPut]
|
[HttpPut]
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/ApiGateways/Mobile.Bff.Shopping/aggregator
|
WORKDIR /src/src/ApiGateways/Mobile.Bff.Shopping/aggregator
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -36,14 +36,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve the current basket
|
// Retrieve the current basket
|
||||||
var currentBasket = await _basket.GetByIdAsync(data.BuyerId);
|
var basket = await _basket.GetByIdAsync(data.BuyerId) ?? new BasketData(data.BuyerId);
|
||||||
if (currentBasket == null)
|
|
||||||
{
|
|
||||||
currentBasket = new BasketData(data.BuyerId);
|
|
||||||
}
|
|
||||||
|
|
||||||
var catalogItems = await _catalog.GetCatalogItemsAsync(data.Items.Select(x => x.ProductId));
|
var catalogItems = await _catalog.GetCatalogItemsAsync(data.Items.Select(x => x.ProductId));
|
||||||
var newBasket = new BasketData(data.BuyerId);
|
|
||||||
|
|
||||||
foreach (var bitem in data.Items)
|
foreach (var bitem in data.Items)
|
||||||
{
|
{
|
||||||
@ -53,7 +48,7 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Controllers
|
|||||||
return BadRequest($"Basket refers to a non-existing catalog item ({bitem.ProductId})");
|
return BadRequest($"Basket refers to a non-existing catalog item ({bitem.ProductId})");
|
||||||
}
|
}
|
||||||
|
|
||||||
newBasket.Items.Add(new BasketDataItem()
|
basket.Items.Add(new BasketDataItem()
|
||||||
{
|
{
|
||||||
Id = bitem.Id,
|
Id = bitem.Id,
|
||||||
ProductId = catalogItem.Id.ToString(),
|
ProductId = catalogItem.Id.ToString(),
|
||||||
@ -64,9 +59,9 @@ namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator.Controllers
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
await _basket.UpdateAsync(newBasket);
|
await _basket.UpdateAsync(basket);
|
||||||
|
|
||||||
return newBasket;
|
return basket;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPut]
|
[HttpPut]
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/ApiGateways/Web.Bff.Shopping/aggregator
|
WORKDIR /src/src/ApiGateways/Web.Bff.Shopping/aggregator
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Basket/Basket.API
|
WORKDIR /src/src/Services/Basket/Basket.API
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Catalog/Catalog.API
|
WORKDIR /src/src/Services/Catalog/Catalog.API
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Identity/Identity.API
|
WORKDIR /src/src/Services/Identity/Identity.API
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Location/Locations.API
|
WORKDIR /src/src/Services/Location/Locations.API
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Marketing/Marketing.API
|
WORKDIR /src/src/Services/Marketing/Marketing.API
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Ordering.API.Application.Commands;
|
using Ordering.API.Application.Commands;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Ordering.API.Application.Validations
|
namespace Ordering.API.Application.Validations
|
||||||
{
|
{
|
||||||
public class CancelOrderCommandValidator : AbstractValidator<CancelOrderCommand>
|
public class CancelOrderCommandValidator : AbstractValidator<CancelOrderCommand>
|
||||||
{
|
{
|
||||||
public CancelOrderCommandValidator()
|
public CancelOrderCommandValidator(ILogger<CancelOrderCommandValidator> logger)
|
||||||
{
|
{
|
||||||
RuleFor(order => order.OrderNumber).NotEmpty().WithMessage("No orderId found");
|
RuleFor(order => order.OrderNumber).NotEmpty().WithMessage("No orderId found");
|
||||||
|
|
||||||
|
logger.LogTrace("----- INSTANCE CREATED - {ClassName}", GetType().Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands;
|
using Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -9,19 +10,21 @@ namespace Ordering.API.Application.Validations
|
|||||||
{
|
{
|
||||||
public class CreateOrderCommandValidator : AbstractValidator<CreateOrderCommand>
|
public class CreateOrderCommandValidator : AbstractValidator<CreateOrderCommand>
|
||||||
{
|
{
|
||||||
public CreateOrderCommandValidator()
|
public CreateOrderCommandValidator(ILogger<CreateOrderCommandValidator> logger)
|
||||||
{
|
{
|
||||||
RuleFor(command => command.City).NotEmpty();
|
RuleFor(command => command.City).NotEmpty();
|
||||||
RuleFor(command => command.Street).NotEmpty();
|
RuleFor(command => command.Street).NotEmpty();
|
||||||
RuleFor(command => command.State).NotEmpty();
|
RuleFor(command => command.State).NotEmpty();
|
||||||
RuleFor(command => command.Country).NotEmpty();
|
RuleFor(command => command.Country).NotEmpty();
|
||||||
RuleFor(command => command.ZipCode).NotEmpty();
|
RuleFor(command => command.ZipCode).NotEmpty();
|
||||||
RuleFor(command => command.CardNumber).NotEmpty().Length(12, 19);
|
RuleFor(command => command.CardNumber).NotEmpty().Length(12, 19);
|
||||||
RuleFor(command => command.CardHolderName).NotEmpty();
|
RuleFor(command => command.CardHolderName).NotEmpty();
|
||||||
RuleFor(command => command.CardExpiration).NotEmpty().Must(BeValidExpirationDate).WithMessage("Please specify a valid card expiration date");
|
RuleFor(command => command.CardExpiration).NotEmpty().Must(BeValidExpirationDate).WithMessage("Please specify a valid card expiration date");
|
||||||
RuleFor(command => command.CardSecurityNumber).NotEmpty().Length(3);
|
RuleFor(command => command.CardSecurityNumber).NotEmpty().Length(3);
|
||||||
RuleFor(command => command.CardTypeId).NotEmpty();
|
RuleFor(command => command.CardTypeId).NotEmpty();
|
||||||
RuleFor(command => command.OrderItems).Must(ContainOrderItems).WithMessage("No order items found");
|
RuleFor(command => command.OrderItems).Must(ContainOrderItems).WithMessage("No order items found");
|
||||||
|
|
||||||
|
logger.LogTrace("----- INSTANCE CREATED - {ClassName}", GetType().Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool BeValidExpirationDate(DateTime dateTime)
|
private bool BeValidExpirationDate(DateTime dateTime)
|
||||||
@ -34,4 +37,4 @@ namespace Ordering.API.Application.Validations
|
|||||||
return orderItems.Any();
|
return orderItems.Any();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,13 +1,16 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands;
|
using Microsoft.eShopOnContainers.Services.Ordering.API.Application.Commands;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace Ordering.API.Application.Validations
|
namespace Ordering.API.Application.Validations
|
||||||
{
|
{
|
||||||
public class IdentifiedCommandValidator : AbstractValidator<IdentifiedCommand<CreateOrderCommand,bool>>
|
public class IdentifiedCommandValidator : AbstractValidator<IdentifiedCommand<CreateOrderCommand,bool>>
|
||||||
{
|
{
|
||||||
public IdentifiedCommandValidator()
|
public IdentifiedCommandValidator(ILogger<IdentifiedCommandValidator> logger)
|
||||||
{
|
{
|
||||||
RuleFor(command => command.Id).NotEmpty();
|
RuleFor(command => command.Id).NotEmpty();
|
||||||
|
|
||||||
|
logger.LogTrace("----- INSTANCE CREATED - {ClassName}", GetType().Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Ordering.API.Application.Commands;
|
using Ordering.API.Application.Commands;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Ordering.API.Application.Validations
|
namespace Ordering.API.Application.Validations
|
||||||
{
|
{
|
||||||
public class ShipOrderCommandValidator : AbstractValidator<ShipOrderCommand>
|
public class ShipOrderCommandValidator : AbstractValidator<ShipOrderCommand>
|
||||||
{
|
{
|
||||||
public ShipOrderCommandValidator()
|
public ShipOrderCommandValidator(ILogger<ShipOrderCommandValidator> logger)
|
||||||
{
|
{
|
||||||
RuleFor(order => order.OrderNumber).NotEmpty().WithMessage("No orderId found");
|
RuleFor(order => order.OrderNumber).NotEmpty().WithMessage("No orderId found");
|
||||||
|
|
||||||
|
logger.LogTrace("----- INSTANCE CREATED - {ClassName}", GetType().Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Ordering/Ordering.API
|
WORKDIR /src/src/Services/Ordering/Ordering.API
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Ordering/Ordering.BackgroundTasks
|
WORKDIR /src/src/Services/Ordering/Ordering.BackgroundTasks
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Ordering/Ordering.SignalrHub
|
WORKDIR /src/src/Services/Ordering/Ordering.SignalrHub
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Services/Payment/Payment.API
|
WORKDIR /src/src/Services/Payment/Payment.API
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR "/src/src/Services/Webhooks/Webhooks.API"
|
WORKDIR "/src/src/Services/Webhooks/Webhooks.API"
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Web/WebMVC
|
WORKDIR /src/src/Web/WebMVC
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -20,9 +20,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
COPY --from=node-build /web/wwwroot /src/src/Web/WebSPA/wwwroot/
|
COPY --from=node-build /web/wwwroot /src/src/Web/WebSPA/wwwroot/
|
||||||
WORKDIR /src/src/Web/WebSPA
|
WORKDIR /src/src/Web/WebSPA
|
||||||
|
@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Web/WebStatus
|
WORKDIR /src/src/Web/WebStatus
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
@ -14,9 +14,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/
|
|||||||
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
COPY src/Services/*/*/*.csproj /src/csproj-files/
|
||||||
COPY src/Web/*/*.csproj /src/csproj-files/
|
COPY src/Web/*/*.csproj /src/csproj-files/
|
||||||
|
|
||||||
ARG RUN=pwd
|
|
||||||
RUN ${RUN}
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
WORKDIR /src/src/Web/WebhookClient
|
WORKDIR /src/src/Web/WebhookClient
|
||||||
RUN dotnet publish -c Release -o /app
|
RUN dotnet publish -c Release -o /app
|
||||||
|
Loading…
x
Reference in New Issue
Block a user