2 ##############################################
3 # job configuration for docker build and push
4 ##############################################
16 branch: 'stable/{stream}'
21 slave_label: 'opnfv-build-ubuntu'
23 slave_label: 'opnfv-build-ubuntu-arm'
25 # settings for jobs run in multijob phases
26 build-job-settings: &build-job-settings
27 current-parameters: false
29 node-parameters: false
30 predefined-parameters: |
31 PUSH_IMAGE=$PUSH_IMAGE
32 CACHE_INVALIDATE=$CACHE_INVALIDATE
34 GERRIT_REFNAME=$GERRIT_REFNAME
35 kill-phase-on: FAILURE
38 manifest-job-settings: &manifest-job-settings
39 current-parameters: false
41 node-parameters: false
42 predefined-parameters:
43 GERRIT_REFNAME=$GERRIT_REFNAME
44 kill-phase-on: FAILURE
48 - "fuel-docker-{stream}"
49 - "fuel-docker-build-{arch_tag}-{stream}"
50 - "fuel-docker-manifest-{stream}"
52 ########################
54 ########################
56 name: 'fuel-docker-{stream}'
58 project-type: multijob
60 disabled: '{obj:disabled}'
63 - fuel-job-parameters:
66 slave_label: 'opnfv-build-ubuntu'
74 use-build-blocker: true
77 blocking-level: 'NODE'
85 - gerrit-trigger-tag-created:
90 name: 'build fuel images'
91 execution-type: PARALLEL
93 - name: 'fuel-docker-build-amd64-{stream}'
94 <<: *build-job-settings
95 - name: 'fuel-docker-build-arm64-{stream}'
96 <<: *build-job-settings
98 name: 'publish fuel manifests'
100 execution-type: PARALLEL
102 - name: 'fuel-docker-manifest-{stream}'
103 <<: *manifest-job-settings
106 name: 'fuel-docker-build-{arch_tag}-{stream}'
107 disabled: '{obj:disabled}'
109 - fuel-job-parameters:
112 slave_label: '{slave_label}'
113 arch_tag: '{arch_tag}'
116 use-build-blocker: true
118 - 'fuel-docker-build-.*'
119 blocking-level: 'NODE'
134 name: 'fuel-docker-manifest-{stream}'
142 default: 'opnfv-build-ubuntu'
143 description: 'Slave label on Jenkins'
145 node-eligibility: 'ignore-offline'
149 description: "Project name used to enable job conditions"
152 default: https://gerrit.opnfv.org/gerrit/$PROJECT
153 description: 'Git URL to use on this Jenkins Slave'
157 description: "Repository name for fuel-docker images"
160 disabled: '{obj:disabled}'
171 sudo manifest-tool push from-args \
172 --platforms linux/amd64,linux/arm64 \
173 --template $REPO/fuel:saltmaster-reclass-ARCH-$tag \
174 --target $REPO/fuel:saltmaster-reclass-$tag
175 sudo manifest-tool push from-args \
176 --platforms linux/amd64,linux/arm64 \
177 --template $REPO/fuel:saltminion-maas-ARCH-$tag \
178 --target $REPO/fuel:saltminion-maas-$tag
183 name: fuel-job-parameters
190 default: '{slave_label}'
191 description: 'Slave label on Jenkins'
193 node-eligibility: 'ignore-offline'
196 default: https://gerrit.opnfv.org/gerrit/$PROJECT
197 description: 'Git URL to use on this Jenkins Slave'
201 description: "To enable/disable pushing the image to Dockerhub."
203 name: CACHE_INVALIDATE
205 description: "Set to any non-zero value to force a Docker cache cleanup"
209 description: "commit id to make a snapshot docker image"
213 description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
217 description: "Project name used to enable job conditions"
221 description: "Repository name for fuel-docker images"