mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-11 11:02:55 +01:00
58 lines
No EOL
1.4 KiB
Bash
Executable file
58 lines
No EOL
1.4 KiB
Bash
Executable file
#!/usr/bin/env sh
|
|
|
|
set -e
|
|
|
|
if [ -z "$1" ] || [ ! -d "$1" ]; then
|
|
echo "Please supply an image that you want to build as an argument"
|
|
echo "Valid images are:"
|
|
ls -d -- */
|
|
exit 1
|
|
fi
|
|
|
|
IMAGE_BASE=${CI_REGISTRY_IMAGE:-frontend-build-images}
|
|
IMAGE_NAME=$(echo "$1" | sed "s#/##g")
|
|
COMMIT_REF=${CI_COMMIT_REF_NAME:-unstable}
|
|
IMAGE_TAG=$(cat "$IMAGE_NAME/VERSION")
|
|
|
|
if [ "$COMMIT_REF" = "$CI_DEFAULT_BRANCH" ]; then
|
|
DOCKER_IMAGE="$IMAGE_BASE/$IMAGE_NAME:$IMAGE_TAG"
|
|
else
|
|
IMAGE_POSTFIX=${CI_COMMIT_SHORT_SHA:-unstable}
|
|
DOCKER_IMAGE="$IMAGE_BASE/unstable/$IMAGE_NAME:$IMAGE_TAG-$IMAGE_POSTFIX"
|
|
fi
|
|
|
|
KANIKO_ARGS=${KANIKO_ARGS:-}
|
|
|
|
if [ "$CI" = "true" ]; then
|
|
echo "Running on CI, so we check if the image already exists"
|
|
if crane manifest "$DOCKER_IMAGE" >/dev/null; then
|
|
echo "Image $DOCKER_IMAGE already exists, skip building"
|
|
exit 0
|
|
fi
|
|
else
|
|
echo "Not running on CI, so not pushing"
|
|
KANIKO_ARGS="$KANIKO_ARGS --no-push"
|
|
fi
|
|
|
|
echo "Building image $DOCKER_IMAGE"
|
|
|
|
/kaniko/executor \
|
|
--context "$IMAGE_NAME" \
|
|
--dockerfile "$IMAGE_NAME/Dockerfile" \
|
|
--destination "$DOCKER_IMAGE" \
|
|
--single-snapshot \
|
|
$KANIKO_ARGS
|
|
|
|
if [ "$CI" = "true" ]; then
|
|
if [ "$COMMIT_REF" = "$CI_DEFAULT_BRANCH" ]; then
|
|
echo "Tagging $DOCKER_IMAGE as latest"
|
|
crane tag "$DOCKER_IMAGE" latest
|
|
fi
|
|
fi
|
|
|
|
echo $PATH
|
|
ls /usr/local/bin
|
|
crane version
|
|
/kaniko/executor version
|
|
|
|
echo "yay" |