diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 484bfa6..cdce8b9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,6 @@ +variables: + LATEST_VER: "22.04" + build_22: variables: UBUNTU_VER: "22.04" diff --git a/Dockerfile b/Dockerfile index 8f66341..1df5753 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,4 +27,6 @@ RUN locale-gen en_US.UTF-8 COPY scripts/entrypoint.sh /entrypoint.sh +ENV LOG_FILE /dev/null + CMD [ "/entrypoint.sh" ] diff --git a/build_command.sh b/build_command.sh new file mode 100644 index 0000000..036909d --- /dev/null +++ b/build_command.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env sh +set -x + +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/docker/$CI_PROJECT_NAME:ubuntu-$UBUNTU_VER:`date "+%Y-%m-%d"` \ + -t $CI_REGISTRY/docker/$CI_PROJECT_NAME:ubuntu-$UBUNTU_VER:latest \ + -t $CI_REGISTRY/docker/$CI_PROJECT_NAME:$UBUNTU_VER \ + --platform $PLATFORMS \ + --push --provenance false +else + docker buildx build . \ + -f Dockerfile \ + --build-arg UBUNTU_VER=$UBUNTU_VER \ + -t $CI_REGISTRY/docker/$CI_PROJECT_NAME:ubuntu-$UBUNTU_VER:`date "+%Y-%m-%d"` \ + -t $CI_REGISTRY/docker/$CI_PROJECT_NAME:ubuntu-$UBUNTU_VER:latest \ + -t $CI_REGISTRY/docker/$CI_PROJECT_NAME:$UBUNTU_VER \ + -t $CI_REGISTRY/docker/$CI_PROJECT_NAME:latest \ + --platform $PLATFORMS \ + --push --provenance false +fi + +docker buildx prune --builder $BUILDER_NAME -f +docker buildx stop $BUILDER_NAME +docker buildx rm $BUILDER_NAME diff --git a/scripts/entrypoint.sh b/scripts/entrypoint.sh index 919281e..9b3ba35 100755 --- a/scripts/entrypoint.sh +++ b/scripts/entrypoint.sh @@ -8,6 +8,8 @@ term_handler() { trap 'kill ${!}; term_handler' SIGTERM +touch $LOG_FILE + $USER_COMMAND_INIT & -tail -f /dev/null & wait ${!} +tail -f $LOG_FILE & wait ${!}