diff --git a/templates/gitlab-ci-docker.yml b/templates/gitlab-ci-docker.yml index a6876caa6c3a164e42ac9f5f57f879e1f1235781..38e0db2c368525730dd5eb4fcfebb4bef4490ca1 100644 --- a/templates/gitlab-ci-docker.yml +++ b/templates/gitlab-ci-docker.yml @@ -338,18 +338,19 @@ stages: docker_release_config_json=$(echo -n "{\"auths\":{\"$docker_release_registry_host\":{\"auth\":\"$docker_release_authent_token\"},\"HttpHeaders\":{\"User-Agent\":\"$USER_AGENT\"}}}") # Create the configuration file for Docker and Kaniko - mkdir -p "$HOME/.docker" + BUILDTOOL_HOME=${BUILDTOOL_HOME:-$HOME} + mkdir -p "$BUILDTOOL_HOME/.docker" if [ -f "${DOCKER_CONFIG_FILE}" ] then - awkenvsubst < "${DOCKER_CONFIG_FILE}" > "$HOME/.docker/config.json" + awkenvsubst < "${DOCKER_CONFIG_FILE}" > "$BUILDTOOL_HOME/.docker/config.json" else - echo "${docker_snapshot_config_json}" > "$HOME/.docker/config.json" + echo "${docker_snapshot_config_json}" > "$BUILDTOOL_HOME/.docker/config.json" fi # Create the configuration file for Skopeo - mkdir -p "$HOME/skopeo/.docker" - echo "${docker_snapshot_config_json}" > "$HOME/skopeo/.docker/src-config.json" - echo "${docker_release_config_json}" > "$HOME/skopeo/.docker/dest-config.json" + mkdir -p "$BUILDTOOL_HOME/skopeo/.docker" + echo "${docker_snapshot_config_json}" > "$BUILDTOOL_HOME/skopeo/.docker/src-config.json" + echo "${docker_release_config_json}" > "$BUILDTOOL_HOME/skopeo/.docker/dest-config.json" log_info "Docker authentication configured for \\e[33;1m${docker_snapshot_registry_host}\\e[0m" } @@ -417,9 +418,10 @@ stages: function configure_containers_registries() { if [[ -n "$CONTAINER_REGISTRIES_CONFIG_FILE" ]] then - mkdir -p "$HOME/.config/containers" - echo "${CONTAINER_REGISTRIES_CONFIG_FILE}" > "$HOME/.config/containers/registries.conf" - log_info "Configured $HOME/.config/containers/registries.conf" + BUILDTOOL_HOME=${BUILDTOOL_HOME:-$HOME} + mkdir -p "$BUILDTOOL_HOME/.config/containers" + echo "${CONTAINER_REGISTRIES_CONFIG_FILE}" > "$BUILDTOOL_HOME/.config/containers/registries.conf" + log_info "Configured $BUILDTOOL_HOME/.config/containers/registries.conf" fi } @@ -441,6 +443,7 @@ stages: entrypoint: [""] variables: KANIKO_CACHE_DIR: "${CI_PROJECT_DIR}/.cache" + BUILDTOOL_HOME: "/kaniko" cache: key: "$CI_COMMIT_REF_SLUG-docker" paths: @@ -788,9 +791,10 @@ docker-publish: log_warn "\\e[93mYou should consider distinguishing snapshot and release images as they do not differ. Skipping publish phase as image has already been created by previous job.\\e[0m" exit 0 fi - skopeo copy --src-authfile $HOME/skopeo/.docker/src-config.json --dest-authfile $HOME/skopeo/.docker/dest-config.json ${DOCKER_PUBLISH_ARGS} docker://$DOCKER_SNAPSHOT_IMAGE docker://$DOCKER_RELEASE_IMAGE + BUILDTOOL_HOME=${BUILDTOOL_HOME:-$HOME} + skopeo copy --src-authfile $BUILDTOOL_HOME/skopeo/.docker/src-config.json --dest-authfile $BUILDTOOL_HOME/skopeo/.docker/dest-config.json ${DOCKER_PUBLISH_ARGS} docker://$DOCKER_SNAPSHOT_IMAGE docker://$DOCKER_RELEASE_IMAGE log_info "Well done your image is published and can be downloaded by doing: docker pull $DOCKER_RELEASE_IMAGE" - - docker_digest=$(skopeo inspect --authfile $HOME/skopeo/.docker/dest-config.json --format='{{ .Digest }}' "docker://$DOCKER_RELEASE_IMAGE") + - docker_digest=$(skopeo inspect --authfile $BUILDTOOL_HOME/skopeo/.docker/dest-config.json --format='{{ .Digest }}' "docker://$DOCKER_RELEASE_IMAGE") - docker_repository=${DOCKER_RELEASE_IMAGE%:*} - docker_tag=${DOCKER_RELEASE_IMAGE##*:} - echo "docker_image=$DOCKER_RELEASE_IMAGE" > docker.env