Skip to content

Commit ac0da28

Browse files
committed
apigws build test with templates
1 parent 2de66ba commit ac0da28

3 files changed

Lines changed: 107 additions & 70 deletions

File tree

build/azure-devops/apigws/azure-pipelines.yml

Lines changed: 4 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -16,68 +16,10 @@ trigger:
1616
- src/ApiGateways/Mobile.Bff.Shopping/aggregator/*
1717
- src/ApiGateways/Web.Bff.Shopping/aggregator/*
1818
jobs:
19-
- job: BuildLinux
20-
pool:
21-
vmImage: 'ubuntu-16.04'
22-
steps:
23-
- task: DockerCompose@0
24-
displayName: Compose build apigws
25-
inputs:
26-
dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
27-
containerregistrytype: Container Registry
28-
dockerRegistryEndpoint: $(registryEndpoint)
29-
dockerComposeFile: docker-compose.yml
30-
qualifyImageNames: true
31-
projectName: ""
32-
dockerComposeFileArgs: |
33-
TAG=$(Build.SourceBranchName)
34-
- task: DockerCompose@0
35-
displayName: Compose push apigws
36-
inputs:
37-
dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
38-
containerregistrytype: Container Registry
39-
dockerRegistryEndpoint: $(registryEndpoint)
40-
dockerComposeFile: docker-compose.yml
41-
qualifyImageNames: true
42-
projectName: ""
43-
dockerComposeFileArgs: |
44-
TAG=$(Build.SourceBranchName)
45-
- task: CopyFiles@2
46-
inputs:
47-
sourceFolder: $(Build.SourcesDirectory)/k8s/helm
48-
targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
49-
- task: PublishBuildArtifacts@1
50-
inputs:
51-
pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
52-
artifactName: helm
53-
- job: BuildWindows
54-
pool:
55-
vmImage: 'windows-2019'
56-
steps:
57-
- task: DockerCompose@0
58-
displayName: Compose build apigws
59-
inputs:
60-
dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
61-
containerregistrytype: Container Registry
62-
dockerRegistryEndpoint: $(registryEndpoint)
63-
dockerComposeFile: docker-compose.yml
64-
qualifyImageNames: true
65-
projectName: ""
66-
dockerComposeFileArgs: |
67-
TAG=$(Build.SourceBranchName)
68-
PLATFORM=win
69-
- task: DockerCompose@0
70-
displayName: Compose push apigws
71-
inputs:
72-
dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
73-
containerregistrytype: Container Registry
74-
dockerRegistryEndpoint: $(registryEndpoint)
75-
dockerComposeFile: docker-compose.yml
76-
qualifyImageNames: true
77-
projectName: ""
78-
dockerComposeFileArgs: |
79-
TAG=$(Build.SourceBranchName)
80-
PLATFORM=win
19+
- template: ../buildimages.yaml
20+
parameters:
21+
images: mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw
22+
registryEndpoint: $(registryEndpoint)
8123
- template: ../multiarch.yaml
8224
parameters:
8325
image: ocelotapigw
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
parameters:
2+
images: ''
3+
registryEndpoint: ''
4+
5+
jobs:
6+
- job: BuildContainersForPR_Linux
7+
condition: eq(${{ variables['Build.Reason'] }}, 'PullRequest'))
8+
pool:
9+
vmImage: 'ubuntu-16.04'
10+
steps:
11+
- task: Bash@3
12+
displayName: Create multiarch manifest
13+
inputs:
14+
script: docker-compose build ${{ parameters.images }}
15+
env:
16+
TAG: ${{ variables['Build.SourceBranchName'] }}
17+
- job: BuildContainersForPR_Windows
18+
condition: eq(${{ variables['Build.Reason'] }}, 'PullRequest'))
19+
pool:
20+
vmImage: 'windows-2019'
21+
steps:
22+
- task: Bash@3
23+
displayName: Create multiarch manifest
24+
inputs:
25+
env:
26+
TAG: ${{ variables['Build.SourceBranchName'] }}
27+
PLATFORM: win
28+
script: docker-compose build ${{ parameters.images }}
29+
- job: BuildLinux
30+
condition: ne(${{ variables['Build.Reason'] }}, 'PullRequest'))
31+
pool:
32+
vmImage: 'ubuntu-16.04'
33+
steps:
34+
- task: DockerCompose@0
35+
displayName: Compose build ${{ parameters.images }}
36+
inputs:
37+
dockerComposeCommand: 'build ${{ parameters.images }}'
38+
containerregistrytype: Container Registry
39+
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
40+
dockerComposeFile: docker-compose.yml
41+
qualifyImageNames: true
42+
projectName: ""
43+
dockerComposeFileArgs: |
44+
TAG=${{ variables['Build.SourceBranchName'] }}
45+
- task: DockerCompose@0
46+
displayName: Compose push apigws
47+
inputs:
48+
dockerComposeCommand: 'push ${{ parameters.images }}'
49+
containerregistrytype: Container Registry
50+
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
51+
dockerComposeFile: docker-compose.yml
52+
qualifyImageNames: true
53+
projectName: ""
54+
dockerComposeFileArgs: |
55+
TAG=${{ variables['Build.SourceBranchName'] }}
56+
- task: CopyFiles@2
57+
inputs:
58+
sourceFolder: ${{ variables.Build.SourcesDirectory }}/k8s/helm
59+
targetFolder: ${{ variables['Build.ArtifactStagingDirectory'] }}/k8s/helm
60+
- task: PublishBuildArtifacts@1
61+
inputs:
62+
pathtoPublish: ${{ variables['Build.ArtifactStagingDirectory'] }}/k8s/helm
63+
artifactName: helm
64+
- job: BuildWindows
65+
condition: ne(${{ variables['Build.Reason'] }}, 'PullRequest'))
66+
pool:
67+
vmImage: 'windows-2019'
68+
steps:
69+
- task: DockerCompose@0
70+
displayName: Compose build apigws
71+
inputs:
72+
dockerComposeCommand: 'build mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
73+
containerregistrytype: Container Registry
74+
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
75+
dockerComposeFile: docker-compose.yml
76+
qualifyImageNames: true
77+
projectName: ""
78+
dockerComposeFileArgs: |
79+
TAG=${{ variables['Build.SourceBranchName'] }}
80+
PLATFORM=win
81+
- task: DockerCompose@0
82+
displayName: Compose push apigws
83+
inputs:
84+
dockerComposeCommand: 'push mobileshoppingapigw mobilemarketingapigw webshoppingapigw webmarketingapigw'
85+
containerregistrytype: Container Registry
86+
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
87+
dockerComposeFile: docker-compose.yml
88+
qualifyImageNames: true
89+
projectName: ""
90+
dockerComposeFileArgs: |
91+
TAG=${{ variables['Build.SourceBranchName'] }}
92+
PLATFORM=win

build/azure-devops/multiarch.yaml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ parameters:
55

66
jobs:
77
- job: manifest
8+
condition: ne(variables['Build.Reason'], 'PullRequest'))
89
pool:
910
vmImage: 'Ubuntu 16.04'
1011
steps:
@@ -14,14 +15,16 @@ jobs:
1415
command: login
1516
containerregistrytype: 'Container Registry'
1617
dockerRegistryEndpoint: ${{ parameters.registryEndpoint }}
17-
- bash: |
18-
mkdir -p ~/.docker
19-
echo '{ "experimental": "enabled" }' > ~/.docker/config.json
20-
docker --config ~/.docker manifest create eshop/${{ parameters.image }}:${{ parameters.branch }} eshop/${{ parameters.image }}:linux-${{ parameters.branch }} eshop/${{ parameters.image }}:win-${{ parameters.branch }}
21-
docker --config ~/.docker manifest create eshop/${{ parameters.image }}:latest eshop/${{ parameters.image }}:linux-latest eshop/${{ parameters.image }}:win-latest
22-
docker --config ~/.docker push eshop/${{ parameters.image }}:${{ parameters.branch }}
23-
docker --config ~/.docker push eshop/${{ parameters.image }}:latest
24-
displayName: 'Create Manifest'
18+
- task: Bash@3
19+
displayName: Create multiarch manifest
20+
inputs:
21+
script: |
22+
mkdir -p ~/.docker
23+
echo '{ "experimental": "enabled" }' > ~/.docker/config.json
24+
docker --config ~/.docker manifest create eshop/${{ parameters.image }}:${{ parameters.branch }} eshop/${{ parameters.image }}:linux-${{ parameters.branch }} eshop/${{ parameters.image }}:win-${{ parameters.branch }}
25+
docker --config ~/.docker manifest create eshop/${{ parameters.image }}:latest eshop/${{ parameters.image }}:linux-latest eshop/${{ parameters.image }}:win-latest
26+
docker --config ~/.docker push eshop/${{ parameters.image }}:${{ parameters.branch }}
27+
docker --config ~/.docker push eshop/${{ parameters.image }}:latest
2528
dependsOn:
2629
- BuildWindows
2730
- BuildLinux

0 commit comments

Comments
 (0)