Fix kaniko command-line

For whatever reason, line-breaks must be used regardless of
string-block marker `|` or `>-`.  Fix this.

Also, support a fork/pull/MR model allowing contributors to run
pipelines on their fork w/ push to their registry.  In this case, images
should be tagged by MR number to be helpful.

Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
This commit is contained in:
Chris Evich
2022-11-16 09:07:44 -05:00
parent 64ce093a87
commit 341fbb8030

View File

@@ -15,13 +15,18 @@ build:
BASE_TAG: latest BASE_TAG: latest
FLAVOR: stable FLAVOR: stable
script: script:
- mkdir -p /kaniko/.docker - 'mkdir -p /kaniko/.docker'
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - 'echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json'
- IMAGE_TAG="${CI_COMMIT_TAG:+${CI_COMMIT_TAG}}${CI_MERGE_REQUEST_IID:+mr${CI_MERGE_REQUEST_IID}${CI_COMMIT_BRANCH:+${CI_COMMIT_BRANCH/main/latest}}" - |
- >- IMAGE_TAG="${CI_COMMIT_TAG:+${CI_COMMIT_TAG}}${CI_COMMIT_BRANCH:+${CI_COMMIT_BRANCH/main/latest}}";
/kaniko/executor if [[ -n "$CI_OPEN_MERGE_REQUESTS" ]]; then
--context $CI_PROJECT_DIR IMAGE_TAG="mr${CI_MERGE_REQUEST_ID}";
--dockerfile $CI_PROJECT_DIR/Containerfile fi
--destination "$CI_REGISTRY_IMAGE:${IAMGE_TAG}" echo "Building/Pushing to: ${CI_REGISTRY_IMAGE}:${IMAGE_TAG}";
--build-arg "BASE_TAG=$BASE_TAG" - |
/kaniko/executor \
--context $CI_PROJECT_DIR \
--dockerfile $CI_PROJECT_DIR/Containerfile \
--destination "${CI_REGISTRY_IMAGE}:${IMAGE_TAG}" \
--build-arg "BASE_TAG=$BASE_TAG" \
--build-arg "FLAVOR=$FLAVOR" --build-arg "FLAVOR=$FLAVOR"