diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b53a836e..e920181d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -90,6 +90,12 @@ docker-build-dev: environment: name: development before_script: + - | + apk --no-cache add jq + MAJOR=$(cat app/config/version.json | jq '.major' ) + MINOR=$(cat app/config/version.json | jq '.minor' ) + SUB=$(cat app/config/version.json | jq '.sub' ) + META=$(cat app/config/version.json | jq '.meta' ) - | apk --no-cache add curl latest_tag=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | sed -Ene '/^ *"tag_name": *"(v.+)",$/s//\1/p') @@ -105,12 +111,18 @@ docker-build-dev: script: - | tag=":$CI_COMMIT_REF_SLUG" + VERSION="${MAJOR}.${MINOR}.${SUB}-${META}" + - | echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag" + echo "Crafty Version: $VERSION" - docker context create tls-environment - docker buildx create --name zedBuilder --use tls-environment - docker buildx build --cache-from type=registry,ref="$CI_REGISTRY_IMAGE${tag}" --build-arg BUILDKIT_INLINE_CACHE=1 + --build-arg "BUILD_DATE=$(date +"%Y-%m-%dT%H:%M:%SZ")" + --build-arg "BUILD_REF=${CI_COMMIT_SHA}" + --build-arg "CRAFTY_VER=${VERSION}" --tag "$CI_REGISTRY_IMAGE${tag}" --platform linux/arm64/v8,linux/amd64 --push . @@ -133,6 +145,12 @@ docker-build-prod: environment: name: production before_script: + - | + apk --no-cache add jq + MAJOR=$(cat app/config/version.json | jq '.major' ) + MINOR=$(cat app/config/version.json | jq '.minor' ) + SUB=$(cat app/config/version.json | jq '.sub' ) + META=$(cat app/config/version.json | jq '.meta' ) - | apk --no-cache add curl latest_tag=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | sed -Ene '/^ *"tag_name": *"(v.+)",$/s//\1/p') @@ -148,12 +166,18 @@ docker-build-prod: script: - | tag="" - echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'" + VERSION="${MAJOR}.${MINOR}.${SUB}-${META}" + - | + echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag" + echo "Crafty Version: $VERSION" - docker context create tls-environment - docker buildx create --name zedBuilder --use tls-environment - docker buildx build --cache-from type=registry,ref="$CI_REGISTRY_IMAGE${tag}" --build-arg BUILDKIT_INLINE_CACHE=1 + --build-arg "BUILD_DATE=$(date +"%Y-%m-%dT%H:%M:%SZ")" + --build-arg "BUILD_REF=${CI_COMMIT_SHA}" + --build-arg "CRAFTY_VER=${VERSION}" --tag "$CI_REGISTRY_IMAGE${tag}" --platform linux/arm64/v8,linux/amd64 --push . diff --git a/Dockerfile b/Dockerfile index 140d5122..f293c2e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,23 @@ FROM ubuntu:20.04 ENV DEBIAN_FRONTEND="noninteractive" +ARG BUILD_DATE +ARG BUILD_REF +ARG CRAFTY_VER -LABEL maintainer="Dockerfile created by Zedifus " +# Add meta labels +LABEL \ + maintainer="Zedifus " \ + org.opencontainers.image.created=${BUILD_DATE} \ + org.opencontainers.image.revision=${BUILD_REF} \ + org.opencontainers.image.version=${CRAFTY_VER} \ + org.opencontainers.image.title="Crafty Controller" \ + org.opencontainers.image.description="A Game Server Control Panel / Launcher" \ + org.opencontainers.image.url="https://craftycontrol.com/" \ + org.opencontainers.image.documentation="https://wiki.craftycontrol.com/" \ + org.opencontainers.image.source="https://gitlab.com/crafty-controller/crafty-commander" \ + org.opencontainers.image.vendor="Arcadia Technology, LLC." \ + org.opencontainers.image.licenses="" # Security Patch for CVE-2021-44228 ENV LOG4J_FORMAT_MSG_NO_LOOKUPS=true