drone/ContainerImageKaniko: fixed support for registry auth, added DEBUG_STEP variable

This commit is contained in:
David Hiendl 2022-10-24 21:32:58 +02:00
parent 82b898a53c
commit e0b27d2aab

View File

@ -21,6 +21,7 @@
ADD_CI_REGISTRY_TARGET: "true"
REGISTRY_AUTH_JSON: ""
MERGE_REGISTRY_JSON: "true"
DEBUG_STEP: "false"
commands:
- &ContainerImageKanikoCommands |
@ -28,6 +29,17 @@
_OLD_IFS="$IFS"
REGISTRY_TARGETS=""
if [[ "$DEBUG_STEP" == "true" ]]; then
echo "[debug] env at start"
env
fi
debug_log() {
if [[ "$DEBUG_STEP" == "true" ]]; then
echo "[debug] $@"
fi
}
# add default registry as target
if [[ "$ADD_CI_REGISTRY_TARGET" == "true" ]]; then
REGISTRY_TARGETS="$CI_REGISTRY_IMAGE:"
@ -41,6 +53,8 @@
REGISTRY="$REGISTRY:"
fi
debug_log "adding $REGISTRY to REGISTRY_TARGETS"
REGISTRY_TARGETS="$REGISTRY_TARGETS,$REGISTRY"
done
IFS="$OLD_IFS"
@ -49,6 +63,9 @@
if [[ -z "$CONTEXT_DIR" ]]; then CONTEXT_DIR="$DRONE_WORKSPACE_BASE"; fi
if [[ -z "$DOCKERFILE" ]]; then DOCKERFILE="$DRONE_WORKSPACE_BASE/Dockerfile"; fi
debug_log "CONTEXT_DIR=$CONTEXT_DIR"
debug_log "DOCKERFILE=$DOCKERFILE"
# add gitlab registry auth
if [[ "$ADD_CI_REGISTRY_AUTH" == "true" ]]; then
REGISTRY_AUTH_JSON="$REGISTRY_AUTH_JSON {\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(echo -n token:$CI_REGISTRY_PASSWORD | base64)\"}}}"
@ -58,7 +75,9 @@
if [[ "$MERGE_REGISTRY_JSON" == "true" ]] && [[ ! -z "$REGISTRY_AUTH_JSON" ]]; then
wget -O /bin/jq https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64
chmod +x /bin/jq
echo "merging $REGISTRY_AUTH_JSON"
REGISTRY_AUTH_JSON=$(echo "$REGISTRY_AUTH_JSON" | /bin/jq --slurp 'reduce .[] as $item ({}; . * $item)')
echo "merged $REGISTRY_AUTH_JSON"
fi
# create registry auth file
@ -67,11 +86,13 @@
echo "$REGISTRY_AUTH_JSON" > /kaniko/.docker/config.json
fi
debug_log "REGISTRY_AUTH_JSON=$REGISTRY_AUTH_JSON"
IMAGE_TAGS=""
# default tag based on commit
if [[ "$TAG_COMMIT_ENABLE" == "true" ]]; then
echo "adding commit tag"
debug_log "adding commit tag"
IMAGE_TAGS="$IMAGE_TAGS,$TAG_PREFIX$TAG_COMMIT_PREFIX$CI_COMMIT_SHA$TAG_SUFFIX"
fi
@ -142,5 +163,10 @@
echo "# kaniko arguments: "
ALL_ARGS="$KANIKO_ARGS $IMAGE_DESTS $ADDITIONAL_REGISTRY_DESTINATIONS"
echo "$ALL_ARGS"
echo $ALL_ARGS | xargs /kaniko/executor
if [[ "$DEBUG_STEP" == "true" ]]; then
echo "[debug] env before call to /kaniko/executor"
env
fi
echo $ALL_ARGS | xargs /kaniko/executor