Something went wrong on our end
-
Eva Bardou authoredEva Bardou authored
build.sh 1.32 KiB
#!/bin/sh -e
# Build the backend Docker image.
# Requires CI_PROJECT_DIR and CI_REGISTRY_IMAGE to be set.
# VERSION defaults to latest.
# Will automatically login to a registry if CI_REGISTRY, CI_REGISTRY_USER and CI_REGISTRY_PASSWORD are set.
# Will only push an image if $CI_REGISTRY is set.
DOCKERFILE=$1
TAG_SUFFIX=$2
if [ -z "$DOCKERFILE" ]; then
echo "Missing dockerfile on CLI"
exit 1
fi
if [ -z "$VERSION" ]; then
#Ensure this is not a base tag
case $CI_COMMIT_TAG in
base-*)
echo build can only be used with non-base tags.
exit 1;;
esac
VERSION=${CI_COMMIT_TAG:-latest}
fi
if [ -n "$TAG_SUFFIX" ]; then
# Apply optional suffix to image version
VERSION="${VERSION}${TAG_SUFFIX}"
fi
if [ -z "$VERSION" -o -z "$CI_PROJECT_DIR" -o -z "$CI_REGISTRY_IMAGE" ]; then
echo Missing environment variables
exit 1
fi
if [ -n "$CI_REGISTRY" -a -n "$CI_REGISTRY_USER" -a -n "$CI_REGISTRY_PASSWORD" ]; then
echo Logging in to container registry…
echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
fi
PONOS_BRANCH=${PONOS_BRANCH:-master}
IMAGE_TAG="$CI_REGISTRY_IMAGE:$VERSION"
cd $CI_PROJECT_DIR
docker pull "$CI_REGISTRY_IMAGE/base:latest"
docker build . -f $DOCKERFILE -t "$IMAGE_TAG" --build-arg "PONOS_BRANCH=$PONOS_BRANCH"
if [ -n "$CI_REGISTRY" ]; then
docker push "$IMAGE_TAG"
fi