diff --git a/build/azure-devops/apigws/azure-pipelines.yml b/build/azure-devops/apigws/azure-pipelines.yml index 6fedf33a6..0fe398c73 100644 --- a/build/azure-devops/apigws/azure-pipelines.yml +++ b/build/azure-devops/apigws/azure-pipelines.yml @@ -41,7 +41,7 @@ jobs: qualifyImageNames: true projectName: "" dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) + TAG=$(Build.SourceBranchName) - task: CopyFiles@2 inputs: sourceFolder: $(Build.SourcesDirectory)/k8s/helm @@ -50,3 +50,36 @@ jobs: inputs: pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm artifactName: helm +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build apigws + inputs: + dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: ocelotapigw + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) diff --git a/build/azure-devops/basket-api/azure-pipelines.yml b/build/azure-devops/basket-api/azure-pipelines.yml index 6d94c5918..6bd7e52da 100644 --- a/build/azure-devops/basket-api/azure-pipelines.yml +++ b/build/azure-devops/basket-api/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -12,34 +10,71 @@ trigger: - src/BuildingBlocks/* - src/Services/Basket/* - k8s/helm/basket-api/* -steps: -- task: DockerCompose@0 - displayName: Compose build basket - inputs: - dockerComposeCommand: 'build basket.api' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build basket + inputs: + dockerComposeCommand: 'build basket.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build basket + inputs: + dockerComposeCommand: 'build basket.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: basket.api + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) diff --git a/build/azure-devops/catalog-api/azure-pipelines.yml b/build/azure-devops/catalog-api/azure-pipelines.yml index d277d4777..03c588e8f 100644 --- a/build/azure-devops/catalog-api/azure-pipelines.yml +++ b/build/azure-devops/catalog-api/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -12,34 +10,71 @@ trigger: - src/BuildingBlocks/* - src/Services/Catalog/* - k8s/helm/catalog-api/* -steps: -- task: DockerCompose@0 - displayName: Compose build catalog - inputs: - dockerComposeCommand: 'build catalog.api' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build catalog + inputs: + dockerComposeCommand: 'build catalog.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindow + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build catalog + inputs: + dockerComposeCommand: 'build catalog.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: catalog.api + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) diff --git a/build/azure-devops/identity-api/azure-pipelines.yml b/build/azure-devops/identity-api/azure-pipelines.yml index 454c03d16..5e48bbccc 100644 --- a/build/azure-devops/identity-api/azure-pipelines.yml +++ b/build/azure-devops/identity-api/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -12,34 +10,71 @@ trigger: - src/BuildingBlocks/* - src/Services/Identity/* - k8s/helm/identity-api/* -steps: -- task: DockerCompose@0 - displayName: Compose build identity - inputs: - dockerComposeCommand: 'build identity.api' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build identity + inputs: + dockerComposeCommand: 'build identity.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build identity + inputs: + dockerComposeCommand: 'build identity.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: identity.api + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) diff --git a/build/azure-devops/location-api/azure-pipelines.yml b/build/azure-devops/location-api/azure-pipelines.yml index ab3d31b3f..adc814863 100644 --- a/build/azure-devops/location-api/azure-pipelines.yml +++ b/build/azure-devops/location-api/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -11,35 +9,72 @@ trigger: include: - src/BuildingBlocks/* - src/Services/Location/* - - k8s/helm/locations-api/* -steps: -- task: DockerCompose@0 - displayName: Compose build locations - inputs: - dockerComposeCommand: 'build locations.api' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 + - k8s/helm/locations-api/* +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build locations + inputs: + dockerComposeCommand: 'build locations.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build locations + inputs: + dockerComposeCommand: 'build locations.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: locations.api + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) diff --git a/build/azure-devops/marketing-api/azure-pipelines.yml b/build/azure-devops/marketing-api/azure-pipelines.yml index 193a0cccf..59fe1d843 100644 --- a/build/azure-devops/marketing-api/azure-pipelines.yml +++ b/build/azure-devops/marketing-api/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -11,35 +9,72 @@ trigger: include: - src/BuildingBlocks/* - src/Services/Marketing/* - - k8s/helm/marketing-api/* -steps: -- task: DockerCompose@0 - displayName: Compose build marketing - inputs: - dockerComposeCommand: 'build marketing.api' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 + - k8s/helm/marketing-api/* +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build marketing + inputs: + dockerComposeCommand: 'build marketing.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build marketing + inputs: + dockerComposeCommand: 'build marketing.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: marketing.api + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) diff --git a/build/azure-devops/mobile-shopping-agg/azure-pipelines.yml b/build/azure-devops/mobile-shopping-agg/azure-pipelines.yml index 6fb0018a1..029386084 100644 --- a/build/azure-devops/mobile-shopping-agg/azure-pipelines.yml +++ b/build/azure-devops/mobile-shopping-agg/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -10,35 +8,73 @@ trigger: paths: include: - src/ApiGateways/Mobile.Bff.Shopping/aggregator/* - - k8s/helm/mobileshoppingagg/* -steps: -- task: DockerCompose@0 - displayName: Compose build mobileshoppingagg - inputs: - dockerComposeCommand: 'build mobileshoppingagg' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 + - k8s/helm/mobileshoppingagg/* +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build mobileshoppingagg + inputs: + dockerComposeCommand: 'build mobileshoppingagg' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build mobileshoppingagg + inputs: + dockerComposeCommand: 'build mobileshoppingagg' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: mobileshoppingagg + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) + diff --git a/build/azure-devops/multiarch.yaml b/build/azure-devops/multiarch.yaml new file mode 100644 index 000000000..919eb9595 --- /dev/null +++ b/build/azure-devops/multiarch.yaml @@ -0,0 +1,27 @@ +parameters: + image: '' + branch: '' + registryEndpoint: '' + +jobs: +- job: manifest + 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 + echo '{ "experimental": "enabled" }' > ~/.docker/config.json + docker --config ~/.docker manifest create eshop/${{ parameters.image }}:${{ parameters.branch }} eshop/${{ parameters.image }}:linux-${{ parameters.branch }} eshop/${{ parameters.image }}:win-${{ parameters.branch }} + docker --config ~/.docker manifest create eshop/${{ parameters.image }}:latest eshop/${{ parameters.image }}:linux-latest eshop/${{ parameters.image }}:win-latest + docker --config ~/.docker push eshop/${{ parameters.image }}:${{ parameters.branch }} + docker --config ~/.docker push eshop/${{ parameters.image }}:latest + displayName: 'Create Manifest' + dependsOn: + - BuildWindows + - BuildLinux diff --git a/build/azure-devops/ordering-api/azure-pipelines.yml b/build/azure-devops/ordering-api/azure-pipelines.yml index ef0b17a32..47cc0370e 100644 --- a/build/azure-devops/ordering-api/azure-pipelines.yml +++ b/build/azure-devops/ordering-api/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -14,34 +12,71 @@ trigger: - k8s/helm/ordering-api/* - k8s/helm/ordering-backgroundtasks/* - k8s/helm/ordering-signalrhub/* -steps: -- task: DockerCompose@0 - displayName: Compose build ordering - inputs: - dockerComposeCommand: 'build ordering.api ordering.backgroundtasks ordering.signalrhub' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build ordering + inputs: + dockerComposeCommand: 'build ordering.api ordering.backgroundtasks ordering.signalrhub' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build ordering + inputs: + dockerComposeCommand: 'build ordering.api ordering.backgroundtasks ordering.signalrhub' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: ordering.api + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) \ No newline at end of file diff --git a/build/azure-devops/payment-api/azure-pipelines.yml b/build/azure-devops/payment-api/azure-pipelines.yml index 8518c8841..f472470cb 100644 --- a/build/azure-devops/payment-api/azure-pipelines.yml +++ b/build/azure-devops/payment-api/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -12,34 +10,71 @@ trigger: - src/BuildingBlocks/* - src/Services/Payment/* - k8s/helm/payment-api/* -steps: -- task: DockerCompose@0 - displayName: Compose build payment - inputs: - dockerComposeCommand: 'build payment.api' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build payment + inputs: + dockerComposeCommand: 'build payment.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build payment + inputs: + dockerComposeCommand: 'build payment.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: payment.api + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) \ No newline at end of file diff --git a/build/azure-devops/web-shopping-agg/azure-pipelines.yml b/build/azure-devops/web-shopping-agg/azure-pipelines.yml index 70a4df950..7ba05c4f5 100644 --- a/build/azure-devops/web-shopping-agg/azure-pipelines.yml +++ b/build/azure-devops/web-shopping-agg/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -10,35 +8,72 @@ trigger: paths: include: - src/ApiGateways/Web.Bff.Shopping/aggregator/* - - k8s/helm/webshoppingagg/* -steps: -- task: DockerCompose@0 - displayName: Compose build webshoppingagg - inputs: - dockerComposeCommand: 'build webshoppingagg' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 + - k8s/helm/webshoppingagg/* +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build webshoppingagg + inputs: + dockerComposeCommand: 'build webshoppingagg' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build webshoppingagg + inputs: + dockerComposeCommand: 'build webshoppingagg' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: webshoppingagg + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) \ No newline at end of file diff --git a/build/azure-devops/webhooks-api/azure-pipelines.yml b/build/azure-devops/webhooks-api/azure-pipelines.yml index b48948111..d30ce074a 100644 --- a/build/azure-devops/webhooks-api/azure-pipelines.yml +++ b/build/azure-devops/webhooks-api/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -11,35 +9,72 @@ trigger: include: - src/BuildingBlocks/* - src/Services/Webhooks/* - - k8s/helm/webhooks-api/* -steps: -- task: DockerCompose@0 - displayName: Compose build webhooks - inputs: - dockerComposeCommand: 'build webhooks.api' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 + - k8s/helm/webhooks-api/* +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build webhooks + inputs: + dockerComposeCommand: 'build webhooks.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build webhooks + inputs: + dockerComposeCommand: 'build webhooks.api' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: webhooks.api + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) \ No newline at end of file diff --git a/build/azure-devops/webhooks-client/azure-pipelines.yml b/build/azure-devops/webhooks-client/azure-pipelines.yml index 71e3bbe16..30ad411e3 100644 --- a/build/azure-devops/webhooks-client/azure-pipelines.yml +++ b/build/azure-devops/webhooks-client/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -11,35 +9,72 @@ trigger: include: - src/BuildingBlocks/* - src/Web/WebhookClient/* - - k8s/helm/webhooks-web/* -steps: -- task: DockerCompose@0 - displayName: Compose build webhooks.client - inputs: - dockerComposeCommand: 'build webhooks.client' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - dockerComposeFileArgs: | - TAG=$(Build.SourceBranchName) -- 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 + - k8s/helm/webhooks-web/* +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build webhooks.client + inputs: + dockerComposeCommand: 'build webhooks.client' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + - 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build webhooks.client + inputs: + dockerComposeCommand: 'build webhooks.client' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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)v + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: webhooks.client + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) \ No newline at end of file diff --git a/build/azure-devops/webmvc/azure-pipelines.yml b/build/azure-devops/webmvc/azure-pipelines.yml index 66b8518fa..69fea5360 100644 --- a/build/azure-devops/webmvc/azure-pipelines.yml +++ b/build/azure-devops/webmvc/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -11,35 +9,72 @@ trigger: include: - src/BuildingBlocks/* - src/Web/WebMVC/* - - k8s/helm/webmvc/* -steps: -- task: DockerCompose@0 - displayName: Compose build webmvc - inputs: - dockerComposeCommand: 'build webmvc' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - 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 + - k8s/helm/webmvc/* +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build webmvc + inputs: + dockerComposeCommand: 'build webmvc' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build webmvc + inputs: + dockerComposeCommand: 'build webmvc' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: webmvc + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) \ No newline at end of file diff --git a/build/azure-devops/webspa/azure-pipelines.yml b/build/azure-devops/webspa/azure-pipelines.yml index eee8cd25d..ea3e8a232 100644 --- a/build/azure-devops/webspa/azure-pipelines.yml +++ b/build/azure-devops/webspa/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -12,34 +10,73 @@ trigger: - src/BuildingBlocks/* - src/Web/WebSPA/* - k8s/helm/webspa/* -steps: -- task: DockerCompose@0 - displayName: Compose build webspa - inputs: - dockerComposeCommand: 'build webspa' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - 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 +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build webspa + inputs: + dockerComposeCommand: 'build webspa' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build webspa + inputs: + dockerComposeCommand: 'build webspa' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + NODE_IMAGE=stefanscherer/node-windows:8.11 + PLATFORM=win + - 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) + PLATFORM=win + NODE_IMAGE=stefanscherer/node-windows:8.11 +- template: ../multiarch.yaml + parameters: + image: webspa + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) \ No newline at end of file diff --git a/build/azure-devops/webstatus/azure-pipelines.yml b/build/azure-devops/webstatus/azure-pipelines.yml index 311c457e2..34f79694a 100644 --- a/build/azure-devops/webstatus/azure-pipelines.yml +++ b/build/azure-devops/webstatus/azure-pipelines.yml @@ -1,5 +1,3 @@ -pool: - vmImage: 'ubuntu-16.04' variables: registryEndpoint: eshop-registry trigger: @@ -11,35 +9,72 @@ trigger: include: - src/BuildingBlocks/* - src/Web/WebStatus/* - - k8s/helm/webstatus/* -steps: -- task: DockerCompose@0 - displayName: Compose build webstatus - inputs: - dockerComposeCommand: 'build webstatus' - containerregistrytype: Container Registry - dockerRegistryEndpoint: $(registryEndpoint) - dockerComposeFile: docker-compose.yml - qualifyImageNames: true - projectName: "" - 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 + - k8s/helm/webstatus/* +jobs: +- job: BuildLinux + pool: + vmImage: 'ubuntu-16.04' + steps: + - task: DockerCompose@0 + displayName: Compose build webstatus + inputs: + dockerComposeCommand: 'build webstatus' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + 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 +- job: BuildWindows + pool: + vmImage: 'windows-2019' + steps: + - task: DockerCompose@0 + displayName: Compose build webstatus + inputs: + dockerComposeCommand: 'build webstatus' + containerregistrytype: Container Registry + dockerRegistryEndpoint: $(registryEndpoint) + dockerComposeFile: docker-compose.yml + qualifyImageNames: true + projectName: "" + dockerComposeFileArgs: | + TAG=$(Build.SourceBranchName) + PLATFORM=win + - 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) + PLATFORM=win +- template: ../multiarch.yaml + parameters: + image: webstatus + branch: $(Build.SourceBranchName) + registryEndpoint: $(registryEndpoint) \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 8c523e122..8950bdfe2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -214,6 +214,8 @@ services: build: context: . dockerfile: src/Web/WebSPA/Dockerfile + args: + - NODE_IMAGE=${NODE_IMAGE:-node:8.11} # depends_on: # - webshoppingagg # - webshoppingapigw diff --git a/src/ApiGateways/ApiGw-Base/Dockerfile b/src/ApiGateways/ApiGw-Base/Dockerfile index f4751f2d1..9dc86a846 100644 --- a/src/ApiGateways/ApiGw-Base/Dockerfile +++ b/src/ApiGateways/ApiGw-Base/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/ApiGateways/ApiGw-Base/ RUN dotnet publish -c Release -o /app diff --git a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile index d29c73b3e..9b03eccbd 100644 --- a/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile +++ b/src/ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/ApiGateways/Mobile.Bff.Shopping/aggregator RUN dotnet publish -c Release -o /app diff --git a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile index 8ac850778..fbce2f0ab 100644 --- a/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile +++ b/src/ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/ApiGateways/Web.Bff.Shopping/aggregator RUN dotnet publish -c Release -o /app diff --git a/src/Services/Basket/Basket.API/Dockerfile b/src/Services/Basket/Basket.API/Dockerfile index 81955e178..909567b2c 100644 --- a/src/Services/Basket/Basket.API/Dockerfile +++ b/src/Services/Basket/Basket.API/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Basket/Basket.API RUN dotnet publish -c Release -o /app diff --git a/src/Services/Catalog/Catalog.API/Dockerfile b/src/Services/Catalog/Catalog.API/Dockerfile index 70a97da27..facbb0ef3 100644 --- a/src/Services/Catalog/Catalog.API/Dockerfile +++ b/src/Services/Catalog/Catalog.API/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Catalog/Catalog.API RUN dotnet publish -c Release -o /app diff --git a/src/Services/Identity/Identity.API/Dockerfile b/src/Services/Identity/Identity.API/Dockerfile index ed1502208..8196b077a 100644 --- a/src/Services/Identity/Identity.API/Dockerfile +++ b/src/Services/Identity/Identity.API/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Identity/Identity.API RUN dotnet publish -c Release -o /app diff --git a/src/Services/Location/Locations.API/Dockerfile b/src/Services/Location/Locations.API/Dockerfile index 5f5a0c88a..8a173cbc1 100644 --- a/src/Services/Location/Locations.API/Dockerfile +++ b/src/Services/Location/Locations.API/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Location/Locations.API RUN dotnet publish -c Release -o /app diff --git a/src/Services/Marketing/Marketing.API/Dockerfile b/src/Services/Marketing/Marketing.API/Dockerfile index bd9e3807b..3e0936e81 100644 --- a/src/Services/Marketing/Marketing.API/Dockerfile +++ b/src/Services/Marketing/Marketing.API/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Marketing/Marketing.API RUN dotnet publish -c Release -o /app diff --git a/src/Services/Ordering/Ordering.API/Dockerfile b/src/Services/Ordering/Ordering.API/Dockerfile index aa1f0e9c6..63813c5ae 100644 --- a/src/Services/Ordering/Ordering.API/Dockerfile +++ b/src/Services/Ordering/Ordering.API/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Ordering/Ordering.API RUN dotnet publish -c Release -o /app diff --git a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile index 0c121f4a8..f1dbea6b1 100644 --- a/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile +++ b/src/Services/Ordering/Ordering.BackgroundTasks/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Ordering/Ordering.BackgroundTasks RUN dotnet publish -c Release -o /app diff --git a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile index a40dc797f..1dfffd839 100644 --- a/src/Services/Ordering/Ordering.SignalrHub/Dockerfile +++ b/src/Services/Ordering/Ordering.SignalrHub/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Ordering/Ordering.SignalrHub RUN dotnet publish -c Release -o /app diff --git a/src/Services/Payment/Payment.API/Dockerfile b/src/Services/Payment/Payment.API/Dockerfile index dcaf9b5e8..65baf8278 100644 --- a/src/Services/Payment/Payment.API/Dockerfile +++ b/src/Services/Payment/Payment.API/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Services/Payment/Payment.API RUN dotnet publish -c Release -o /app diff --git a/src/Services/Webhooks/Webhooks.API/Dockerfile b/src/Services/Webhooks/Webhooks.API/Dockerfile index 0da59affa..9cc1828d9 100644 --- a/src/Services/Webhooks/Webhooks.API/Dockerfile +++ b/src/Services/Webhooks/Webhooks.API/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR "/src/src/Services/Webhooks/Webhooks.API" RUN dotnet publish -c Release -o /app diff --git a/src/Web/WebMVC/Dockerfile b/src/Web/WebMVC/Dockerfile index 4cb62e614..0e3445b57 100644 --- a/src/Web/WebMVC/Dockerfile +++ b/src/Web/WebMVC/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Web/WebMVC RUN dotnet publish -c Release -o /app diff --git a/src/Web/WebSPA/Dockerfile b/src/Web/WebSPA/Dockerfile index ef0f46c7f..d7cb7631c 100644 --- a/src/Web/WebSPA/Dockerfile +++ b/src/Web/WebSPA/Dockerfile @@ -20,9 +20,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . COPY --from=node-build /web/wwwroot /src/src/Web/WebSPA/wwwroot/ WORKDIR /src/src/Web/WebSPA diff --git a/src/Web/WebStatus/Dockerfile b/src/Web/WebStatus/Dockerfile index edb691988..92c1b2717 100644 --- a/src/Web/WebStatus/Dockerfile +++ b/src/Web/WebStatus/Dockerfile @@ -13,9 +13,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Web/WebStatus RUN dotnet publish -c Release -o /app diff --git a/src/Web/WebhookClient/Dockerfile b/src/Web/WebhookClient/Dockerfile index 0710db058..9143fd8e1 100644 --- a/src/Web/WebhookClient/Dockerfile +++ b/src/Web/WebhookClient/Dockerfile @@ -14,9 +14,6 @@ COPY src/BuildingBlocks/*/*/*.csproj /src/csproj-files/ COPY src/Services/*/*/*.csproj /src/csproj-files/ COPY src/Web/*/*.csproj /src/csproj-files/ -ARG RUN=pwd -RUN ${RUN} - COPY . . WORKDIR /src/src/Web/WebhookClient RUN dotnet publish -c Release -o /app