Enforce the variables from "lf-docker-get-container-tag",
"lf-docker-build" and "lf-docker-push" to be carried over
when calling the macros. This avoids the issue of loosing
the value of the variables.
Update the test file to reflect the example better.
Change-Id: I5087b6fbd064d145fab4be8dad72ff196fdfa213
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
project: docker/project
project-name: docker-project
container-public-registry: pub-registry
project: docker/project
project-name: docker-project
container-public-registry: pub-registry
- container-snapshot-registry: snap-registry
+ container-push-registry: push-registry
+ docker-build-args: ''
docker-name: docker-image-name
docker-name: docker-image-name
+ docker-root: docker
+ docker-use-params-from: yaml-file-params
branch: master
mvn-settings: docker-project-settings
branch: master
mvn-settings: docker-project-settings
- builder:
name: lf-docker-get-container-tag
builders:
- builder:
name: lf-docker-get-container-tag
builders:
+ - inject:
+ properties-content: |
+ DOCKER_NAME={docker-name}
+ DOCKER_ROOT={docker-root}
- conditional-step:
condition-kind: regex-match
regex: git-describe-params
- conditional-step:
condition-kind: regex-match
regex: git-describe-params
- inject:
properties-content: |
DOCKER_ARGS={docker-build-args}
- inject:
properties-content: |
DOCKER_ARGS={docker-build-args}
- DOCKER_NAME={docker-name}
DOCKER_ROOT={docker-root}
CONTAINER_PULL_REGISTRY={container-public-registry}
- shell: !include-raw-escape:
DOCKER_ROOT={docker-root}
CONTAINER_PULL_REGISTRY={container-public-registry}
- shell: !include-raw-escape:
submodule-disable: false
submodule-recursive: true
submodule-timeout: 10
submodule-disable: false
submodule-recursive: true
submodule-timeout: 10
- pre_docker_build_script: ''
- post_docker_build_script: ''
+ pre_docker_build_script: '# pre docker build script goes here'
+ post_docker_build_script: '# post docker build script goes here'
+ docker-use-params-from: ''
disable-job: 'false'
docker-root: '$WORKSPACE'
docker-build-args: ''
disable-job: 'false'
docker-root: '$WORKSPACE'
docker-build-args: ''
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- shell: '{pre_docker_build_script}'
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- shell: '{pre_docker_build_script}'
- - lf-docker-get-container-tag
- - lf-docker-build
+ - lf-docker-get-container-tag:
+ docker-use-params-from: '{docker-use-params-from}'
+ docker-name: '{docker-name}'
+ docker-root: '{docker-root}'
+ - lf-docker-build:
+ docker-build-args: '{docker-build-args}'
+ docker-root: '{docker-root}'
+ container-public-registry: '{container-public-registry}'
- shell: '{post_docker_build_script}'
- lf-provide-maven-settings-cleanup
- shell: '{post_docker_build_script}'
- lf-provide-maven-settings-cleanup
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- shell: '{pre_docker_build_script}'
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
- shell: '{pre_docker_build_script}'
- - lf-docker-get-container-tag
- - lf-docker-build
+ - lf-docker-get-container-tag:
+ docker-use-params-from: '{docker-use-params-from}'
+ docker-name: '{docker-name}'
+ docker-root: '{docker-root}'
+ - lf-docker-build:
+ docker-build-args: '{docker-build-args}'
+ docker-root: '{docker-root}'
+ container-public-registry: '{container-public-registry}'
- shell: '{post_docker_build_script}'
# Provided all steps have already passed, push the docker image
- shell: '{post_docker_build_script}'
# Provided all steps have already passed, push the docker image
+ - lf-docker-push:
+ container-push-registry: '{container-push-registry}'
- lf-provide-maven-settings-cleanup
#################
- lf-provide-maven-settings-cleanup
#################
--- /dev/null
+---
+fixes:
+ - |
+ When calling builder step macros "lf-docker-get-container-tag",
+ "lf-docker-build" and "lf-docker-push", make sure the needed variables
+ are also passed explicitly to avoid these variables appear as undefined.