Feat: add crane support
Some checks failed
Build image / release-image (push) Failing after 36s

This commit is contained in:
2025-04-19 17:13:27 +08:00
parent ca701e0704
commit e084dfe265
2 changed files with 53 additions and 1 deletions

View File

@@ -1,3 +1,12 @@
FROM gcr.io/kaniko-project/executor:v1.23.2
FROM gcr.io/go-containerregistry/crane:v0.20.3 AS crane
#####
FROM gcr.io/kaniko-project/executor:v1.23.2-debug
ADD rootca.pem /usr/local/share/ca-certificates/rootca.pem
COPY --from=crane /ko-app/crane /bin/crane
COPY entrypoint /kaniko/entrypoint.sh
ENTRYPOINT ["/kaniko/entrypoint.sh"]

43
entrypoint.sh Normal file
View File

@@ -0,0 +1,43 @@
#!/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"