This CI environment is using a busybox `sh` so doesn't support all the advanced features of bash. Reimplement IMAGE_TAG processing so it functions as intended. Signed-off-by: Chris Evich <chris_gitlab@icuc.me>
41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
---
|
|
|
|
stages:
|
|
- build
|
|
|
|
build:
|
|
stage: build
|
|
tags:
|
|
- docker
|
|
- linux
|
|
image:
|
|
name: gcr.io/kaniko-project/executor:v1.6.0-debug
|
|
entrypoint: ["/busybox/sh", "-c"]
|
|
variables:
|
|
BASE_TAG: latest
|
|
FLAVOR: stable
|
|
script:
|
|
- 'mkdir -p /kaniko/.docker'
|
|
- 'echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json'
|
|
- |
|
|
echo "Select CI env. vars.:";
|
|
printenv | egrep '^CI_' | sort
|
|
# N/B: There could be more than one merge-request open with this branch's HEAD
|
|
- |
|
|
IMAGE_TAG="${CI_COMMIT_BRANCH}";
|
|
if [[ -n "$CI_COMMIT_TAG" ]]; then
|
|
IMAGE_TAG="${CI_COMMIT_TAG}";
|
|
elif [[ -n "$CI_OPEN_MERGE_REQUESTS" ]]; then
|
|
IMAGE_TAG=mr$(echo "${CI_OPEN_MERGE_REQUESTS}" | cut -d, -f -1 | cut -d\! -f 2);
|
|
elif [[ "$CI_COMMIT_BRANCH" == "main" ]]; then
|
|
IMAGE_TAG="latest";
|
|
fi
|
|
echo "Building/Pushing to: ${CI_REGISTRY_IMAGE}:${IMAGE_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"
|