feat: tag docker images with extra labels (!85)
Add a new build step to tag docker images with extra labels: - `:latest` - `:<major>` - `:<major>.<minor>` This job is only triggered on main release tags. https://gitlab.com/hectorjsmith/fail2ban-prometheus-exporter/-/merge_requests/85
This commit is contained in:
parent
f29e127f5f
commit
812f506432
@ -46,13 +46,25 @@ release:
|
||||
GIT_DEPTH: 0
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG =~ /^v.*$/
|
||||
script: |
|
||||
# GITLAB_TOKEN is needed to create GitLab releases.
|
||||
# DOCKER_* are needed to push Docker images.
|
||||
docker run --rm --privileged \
|
||||
script:
|
||||
- docker run --rm --privileged \
|
||||
-v $PWD:/go/src/gitlab.com/hectorjsmith/fail2ban-prometheus-exporter \
|
||||
-w /go/src/gitlab.com/hectorjsmith/fail2ban-prometheus-exporter \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-e DOCKER_USERNAME -e DOCKER_PASSWORD -e DOCKER_REGISTRY \
|
||||
-e GITLAB_TOKEN \
|
||||
goreleaser/goreleaser release --clean
|
||||
|
||||
tag images:
|
||||
stage: release
|
||||
image: docker:stable
|
||||
services:
|
||||
- docker:dind
|
||||
needs:
|
||||
- release
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/
|
||||
variables:
|
||||
IMAGE_NAME: registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter
|
||||
script:
|
||||
- ./.gitlab-ci/tagLatestImage.sh
|
||||
|
14
.gitlab-ci/tagLatestImage.sh
Executable file
14
.gitlab-ci/tagLatestImage.sh
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
VERSION=`echo $CI_COMMIT_TAG | cut -c 2-`
|
||||
MAJOR=`echo $VERSION | cut -d "." -f 1`
|
||||
MINOR=`echo $VERSION | cut -d "." -f 2`
|
||||
|
||||
echo "version: $VERSION (major: $MAJOR; minor: $MINOR)"
|
||||
|
||||
docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
||||
docker pull $IMAGE_NAME:$VERSION
|
||||
docker tag $IMAGE_NAME:$VERSION $IMAGE_NAME:latest
|
||||
docker tag $IMAGE_NAME:$VERSION $IMAGE_NAME:$MAJOR
|
||||
docker tag $IMAGE_NAME:$VERSION $IMAGE_NAME:$MAJOR.$MINOR
|
||||
docker push $IMAGE_NAME
|
Loading…
Reference in New Issue
Block a user