Files
ubuntu/build_command.sh
2023-03-22 00:09:31 +08:00

40 lines
1.5 KiB
Bash

#!/usr/bin/env sh
set -x # For verbosity
set -o errexit # The following two causes the script to fail even if one command fail.
set -o pipefail
export BUILDER_NAME=`docker buildx create --use`
docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
# Following only adds the :latest tag if it is the latest LTS version.
if [ "$LATEST_VER" = "$UBUNTU_VER" ];
then
docker buildx build . \
-f Dockerfile \
--build-arg UBUNTU_VER=$UBUNTU_VER \
-t $CI_REGISTRY_IMAGE/ubuntu-$UBUNTU_VER:`date "+%Y-%m-%d"` \
-t $CI_REGISTRY_IMAGE/ubuntu-$UBUNTU_VER:latest \
-t $CI_REGISTRY_IMAGE:$UBUNTU_VER \
--platform $PLATFORMS \
--cache-from type=registry,ref=$CI_REGISTRY_IMAGE/ubuntu-$UBUNTU_VER:cache \
--cache-to type=registry,ref=$CI_REGISTRY_IMAGE/ubuntu-$UBUNTU_VER:cache \
--push --provenance false
else
docker buildx build . \
-f Dockerfile \
--build-arg UBUNTU_VER=$UBUNTU_VER \
-t $CI_REGISTRY_IMAGE/ubuntu-$UBUNTU_VER:`date "+%Y-%m-%d"` \
-t $CI_REGISTRY_IMAGE/ubuntu-$UBUNTU_VER:latest \
-t $CI_REGISTRY_IMAGE:$UBUNTU_VER \
-t $CI_REGISTRY_IMAGE:latest \
--platform $PLATFORMS \
--cache-from type=registry,ref=$CI_REGISTRY_IMAGE/ubuntu-$UBUNTU_VER:cache \
--cache-to type=registry,ref=$CI_REGISTRY_IMAGE/ubuntu-$UBUNTU_VER:cache \
--push --provenance false
fi
docker buildx prune --builder $BUILDER_NAME -f
docker buildx stop $BUILDER_NAME
docker buildx rm $BUILDER_NAME