add versioning, build 'rel' and 'dev' variants

This commit is contained in:
Stefan Allius
2023-10-01 21:30:40 +02:00
parent c570fbabfa
commit ff9360d2a7

View File

@@ -1,13 +1,31 @@
#!/bin/sh #!/bin/bash
set -e
BUILD_DATE=$(date -Iminutes) BUILD_DATE=$(date -Iminutes)
VERSION=$(git describe --tags --abbrev=0) VERSION=$(git describe --tags --abbrev=0)
VERSION="${VERSION:1}" VERSION="${VERSION:1}"
arr=(${VERSION//./ }) arr=(${VERSION//./ })
MAJOR=${arr[0]} MAJOR=${arr[0]}
echo version: $VERSION build-date: $BUILD_DATE IMAGE=tsun-gen3-proxy
exec docker build --label "org.label-schema.build-date=${BUILD_DATE}" --label "org.opencontainers.image.version=${VERSION}" \
-t "ghcr.io/s-allius/tsun-gen3-proxy:latest" -t "ghcr.io/s-allius/tsun-gen3-proxy:${MAJOR}" -t "ghcr.io/s-allius/tsun-gen3-proxy:${VERSION}" app if [[ $1 == dev ]];then
IMAGE=docker.io/sallius/${IMAGE}
VERSION=${VERSION}-dev
elif [[ $1 == rel ]];then
IMAGE=ghcr.io/s-allius/${IMAGE}
else
echo argument missing!
echo try: $0 '[dev|rel]'
exit 1
fi
echo version: $VERSION build-date: $BUILD_DATE image: $IMAGE
if [[ $1 == dev ]];then
docker build --build-arg "VERSION=${VERSION}" --label "org.label-schema.build-date=${BUILD_DATE}" --label "org.opencontainers.image.version=${VERSION}" -t ${IMAGE}:latest app
elif [[ $1 == rel ]];then
docker build --no-cache --build-arg "VERSION=${VERSION}" --label "org.label-schema.build-date=${BUILD_DATE}" --label "org.opencontainers.image.version=${VERSION}" -t ${IMAGE}:latest -t ${IMAGE}:${MAJOR} -t ${IMAGE}:${VERSION} app
docker push ghcr.io/s-allius/tsun-gen3-proxy:latest docker push ghcr.io/s-allius/tsun-gen3-proxy:latest
docker push ghcr.io/s-allius/tsun-gen3-proxy:${MAJOR} docker push ghcr.io/s-allius/tsun-gen3-proxy:${MAJOR}
docker push ghcr.io/s-allius/tsun-gen3-proxy:${VERSION} docker push ghcr.io/s-allius/tsun-gen3-proxy:${VERSION}
fi