Files
kaniko/entrypoint.sh
ytshih e084dfe265
Some checks failed
Build image / release-image (push) Failing after 36s
Feat: add crane support
2025-04-19 17:13:27 +08:00

44 lines
1.2 KiB
Bash

#!/busybox/sh
set -e pipefail
OLDIFS=$IFS
REGISTRY="${INPUT_PUSH_REGISTRY}"
REGISTRY_CERTIFICATE="${INPUT_REGISTRY_CERTIFICATE}"
USERNAME="${INPUT_USERNAME:-$GITHUB_ACTOR}"
PASSWORD="${INPUT_PASSWORD:-$GITHUB_TOKEN}"
crane auth login "$REGISTRY" -u "$USERNAME" -p "$PASSWORD"
IMAGE="$(echo "${INPUT_TAGS}" | cut -f1 -d':')"
TAGS="${INPUT_TAGS:-$REGISTRY/$GITEA_REPO/$GITEA_REF_NAME}"
DOCKERFILE="${INPUT_FILE}"
CONTEXT="${INPUT_CONTEXT}"
LABELS="--label org.opencontainers.image.created=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ")"
for label in $INPUT_LABELS; do
LABELS="$LABELS --label $label"
done
ARGS="$LABELS --context $CONTEXT --dockerfile $DOCKERFILE"
if [ -n "$REGISTRY_CERTIFICATE" ]; then
ARGS="$ARGS --registry-certificate ${REGISTRY}:${REGISTRY_CERTIFICATE}"
fi
runKaniko() {
IFS=''
EXECUTOR="executor ${1} --reproducible --force --cleanup"
echo "Build with: ${EXECUTOR}"
eval "${EXECUTOR}"
IFS=$OLDIFS
}
echo "Building image $IMAGE"
DESTINATION="--destination $IMAGE:latest --destination $TAGS"
runKaniko "${ARGS} $DESTINATION $DIGEST"
DIGEST=$(head -n 1 '/kaniko/build/image-tag-digest' | cut -f2 -d '@')
echo "Image $IMAGE pushed"
echo "Digest: $DIGEST"