Add REGISTRY_PREFIX build variable

This commit is contained in:
Pau Rodriguez-Estivill
2022-03-04 15:29:53 +01:00
parent 3a005cff3a
commit e55801813e
5 changed files with 55 additions and 71 deletions
+4 -2
View File
@@ -149,10 +149,12 @@ jobs:
- name: Build images
env:
BUILDREV: ${{ steps.vars.outputs.sha_short }}
REGISTRY_PREFIX: ${{ secrets.DOCKERHUB_USERNAME }}/
BUILD_REVISION: ${{ steps.vars.outputs.sha_short }}
run: docker buildx bake --pull
- name: Push images
env:
BUILDREV: ${{ steps.vars.outputs.sha_short }}
REGISTRY_PREFIX: ${{ secrets.DOCKERHUB_USERNAME }}/
BUILD_REVISION: ${{ steps.vars.outputs.sha_short }}
run: docker buildx bake --push
+4 -4
View File
@@ -25,7 +25,7 @@ docker buildx inspect --bootstrap
In order to modify the image name or any other configurable parameter run the `generate.sh` script.
```sh
IMAGE_NAME="prodrigestivill/postgres-backup-local" ./generate.sh config.hcl
IMAGE_NAME="postgres-backup-local" ./generate.sh config.hcl
```
### Build the images
@@ -39,11 +39,11 @@ docker buildx bake --pull -f config.hcl
In order to publish directly to the repository run this command instead:
```sh
docker buildx bake --pull --push -f config.hcl
REGISTRY_PREFIX="dockerhub_username/" docker buildx bake --pull --push -f config.hcl
```
Also, optionally, it can also generate build revision tags from last git commit (like `./publish.sh` script does):
Also, optionally, it can also generate build revision tags from last git commit:
```sh
BUILDREV=$(git rev-parse --short HEAD) docker buildx bake --pull --push -f config.hcl
REGISTRY_PREFIX="dockerhub_username/" BUILD_REVISION=$(git rev-parse --short HEAD) docker buildx bake --pull --push -f config.hcl
```
+27 -23
View File
@@ -2,7 +2,11 @@ group "default" {
targets = ["debian-latest", "alpine-latest", "debian-13", "debian-12", "debian-11", "debian-10", "alpine-13", "alpine-12", "alpine-11", "alpine-10"]
}
variable "BUILDREV" {
variable "REGISTRY_PREFIX" {
default = ""
}
variable "BUILD_REVISION" {
default = ""
}
@@ -21,9 +25,9 @@ target "debian-latest" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "14"}
tags = [
"prodrigestivill/postgres-backup-local:latest",
"prodrigestivill/postgres-backup-local:14",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:14-debian-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:latest",
"${REGISTRY_PREFIX}postgres-backup-local:14",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:14-debian-${BUILD_REVISION}" : ""
]
}
@@ -32,9 +36,9 @@ target "alpine-latest" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "14-alpine"}
tags = [
"prodrigestivill/postgres-backup-local:alpine",
"prodrigestivill/postgres-backup-local:14-alpine",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:14-alpine-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:alpine",
"${REGISTRY_PREFIX}postgres-backup-local:14-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:14-alpine-${BUILD_REVISION}" : ""
]
}
@@ -43,8 +47,8 @@ target "debian-13" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "13"}
tags = [
"prodrigestivill/postgres-backup-local:13",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:13-debian-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:13",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:13-debian-${BUILD_REVISION}" : ""
]
}
@@ -53,8 +57,8 @@ target "alpine-13" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "13-alpine"}
tags = [
"prodrigestivill/postgres-backup-local:13-alpine",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:13-alpine-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:13-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:13-alpine-${BUILD_REVISION}" : ""
]
}
@@ -63,8 +67,8 @@ target "debian-12" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "12"}
tags = [
"prodrigestivill/postgres-backup-local:12",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:12-debian-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:12",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:12-debian-${BUILD_REVISION}" : ""
]
}
@@ -73,8 +77,8 @@ target "alpine-12" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "12-alpine"}
tags = [
"prodrigestivill/postgres-backup-local:12-alpine",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:12-alpine-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:12-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:12-alpine-${BUILD_REVISION}" : ""
]
}
@@ -83,8 +87,8 @@ target "debian-11" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7"]
args = {"BASETAG" = "11"}
tags = [
"prodrigestivill/postgres-backup-local:11",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:11-debian-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:11",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:11-debian-${BUILD_REVISION}" : ""
]
}
@@ -93,8 +97,8 @@ target "alpine-11" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "11-alpine"}
tags = [
"prodrigestivill/postgres-backup-local:11-alpine",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:11-alpine-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:11-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:11-alpine-${BUILD_REVISION}" : ""
]
}
@@ -103,8 +107,8 @@ target "debian-10" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7"]
args = {"BASETAG" = "10"}
tags = [
"prodrigestivill/postgres-backup-local:10",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:10-debian-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:10",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:10-debian-${BUILD_REVISION}" : ""
]
}
@@ -113,7 +117,7 @@ target "alpine-10" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "10-alpine"}
tags = [
"prodrigestivill/postgres-backup-local:10-alpine",
notequal("", BUILDREV) ? "prodrigestivill/postgres-backup-local:10-alpine-${BUILDREV}" : ""
"${REGISTRY_PREFIX}postgres-backup-local:10-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:10-alpine-${BUILD_REVISION}" : ""
]
}
+20 -16
View File
@@ -3,7 +3,7 @@
set -e
DOCKER_BAKE_FILE=${1:-"docker-bake.hcl"}
IMAGE_NAME=${IMAGE_NAME:-"prodrigestivill/postgres-backup-local"}
IMAGE_NAME=${IMAGE_NAME:-"postgres-backup-local"}
GOCRONVER="v0.0.10"
MAIN_TAG="14"
@@ -25,7 +25,11 @@ group "default" {
targets = [$T]
}
variable "BUILDREV" {
variable "REGISTRY_PREFIX" {
default = ""
}
variable "BUILD_REVISION" {
default = ""
}
@@ -44,9 +48,9 @@ target "debian-latest" {
platforms = [$P]
args = {"BASETAG" = "$MAIN_TAG"}
tags = [
"$IMAGE_NAME:latest",
"$IMAGE_NAME:$MAIN_TAG",
notequal("", BUILDREV) ? "$IMAGE_NAME:$MAIN_TAG-debian-\${BUILDREV}" : ""
"\${REGISTRY_PREFIX}$IMAGE_NAME:latest",
"\${REGISTRY_PREFIX}$IMAGE_NAME:$MAIN_TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$MAIN_TAG-debian-\${BUILD_REVISION}" : ""
]
}
@@ -55,9 +59,9 @@ target "alpine-latest" {
platforms = [$P]
args = {"BASETAG" = "$MAIN_TAG-alpine"}
tags = [
"$IMAGE_NAME:alpine",
"$IMAGE_NAME:$MAIN_TAG-alpine",
notequal("", BUILDREV) ? "$IMAGE_NAME:$MAIN_TAG-alpine-\${BUILDREV}" : ""
"\${REGISTRY_PREFIX}$IMAGE_NAME:alpine",
"\${REGISTRY_PREFIX}$IMAGE_NAME:$MAIN_TAG-alpine",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$MAIN_TAG-alpine-\${BUILD_REVISION}" : ""
]
}
EOF
@@ -69,8 +73,8 @@ target "debian-$TAG" {
platforms = [$P]
args = {"BASETAG" = "$TAG"}
tags = [
"$IMAGE_NAME:$TAG",
notequal("", BUILDREV) ? "$IMAGE_NAME:$TAG-debian-\${BUILDREV}" : ""
"\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-debian-\${BUILD_REVISION}" : ""
]
}
@@ -79,8 +83,8 @@ target "alpine-$TAG" {
platforms = [$P]
args = {"BASETAG" = "$TAG-alpine"}
tags = [
"$IMAGE_NAME:$TAG-alpine",
notequal("", BUILDREV) ? "$IMAGE_NAME:$TAG-alpine-\${BUILDREV}" : ""
"\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-alpine",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-alpine-\${BUILD_REVISION}" : ""
]
}
EOF
@@ -93,8 +97,8 @@ target "debian-$TAG" {
platforms = [$P2]
args = {"BASETAG" = "$TAG"}
tags = [
"$IMAGE_NAME:$TAG",
notequal("", BUILDREV) ? "$IMAGE_NAME:$TAG-debian-\${BUILDREV}" : ""
"\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-debian-\${BUILD_REVISION}" : ""
]
}
@@ -103,8 +107,8 @@ target "alpine-$TAG" {
platforms = [$P]
args = {"BASETAG" = "$TAG-alpine"}
tags = [
"$IMAGE_NAME:$TAG-alpine",
notequal("", BUILDREV) ? "$IMAGE_NAME:$TAG-alpine-\${BUILDREV}" : ""
"\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-alpine",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-alpine-\${BUILD_REVISION}" : ""
]
}
EOF
-26
View File
@@ -1,26 +0,0 @@
#!/bin/sh
#
# Usage: ./publish.sh [Version1] [Version2]...
set -e
cd "$(dirname "$0")"
TMPFILE=$(mktemp)
trap 'rm -vf "$TMPFILE"' EXIT
if [ -n "$@" ]; then
TAGS="$@"
echo "Generate configuration for only this tags: $TAGS"
export TAGS
else
echo "Generate configuration for all predefined tags."
fi
./generate.sh "$TMPFILE"
echo "Generated docker bake HCL script at: $TMPFILE"
BUILDREV=$(git rev-parse --short HEAD)
echo "Starting building and publish revision $BUILDREV..."
export BUILDREV
docker buildx bake --pull --push -f "$TMPFILE"
echo "Successfully build and pushed."