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
2 changed files with 30 additions and 4 deletions
|
@ -46,13 +46,25 @@ release:
|
||||||
GIT_DEPTH: 0
|
GIT_DEPTH: 0
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_TAG =~ /^v.*$/
|
- if: $CI_COMMIT_TAG =~ /^v.*$/
|
||||||
script: |
|
script:
|
||||||
# GITLAB_TOKEN is needed to create GitLab releases.
|
- docker run --rm --privileged \
|
||||||
# DOCKER_* are needed to push Docker images.
|
|
||||||
docker run --rm --privileged \
|
|
||||||
-v $PWD:/go/src/gitlab.com/hectorjsmith/fail2ban-prometheus-exporter \
|
-v $PWD:/go/src/gitlab.com/hectorjsmith/fail2ban-prometheus-exporter \
|
||||||
-w /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 \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
-e DOCKER_USERNAME -e DOCKER_PASSWORD -e DOCKER_REGISTRY \
|
-e DOCKER_USERNAME -e DOCKER_PASSWORD -e DOCKER_REGISTRY \
|
||||||
-e GITLAB_TOKEN \
|
-e GITLAB_TOKEN \
|
||||||
goreleaser/goreleaser release --clean
|
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 a new issue