Move IMAGE_NAME to Docker Bake

This commit is contained in:
Pau Rodriguez-Estivill
2022-03-04 16:10:19 +01:00
parent d893605ecf
commit 4190c17c45
3 changed files with 54 additions and 51 deletions
+10 -14
View File
@@ -20,30 +20,26 @@ docker buildx inspect --bootstrap
## Generate the images
### Generate build configuration
In order to modify the image name or any other configurable parameter run the `generate.sh` script.
```sh
IMAGE_NAME="postgres-backup-local" ./generate.sh config.hcl
```
### Build the images
In order to only build the images locally run the following command:
```sh
docker buildx bake --pull -f config.hcl
docker buildx bake --pull
```
In order to publish directly to the repository run this command instead:
In order to build modifying the image name and the registry prefix run the following command:
```sh
REGISTRY_PREFIX="dockerhub_username/" docker buildx bake --pull --push -f config.hcl
REGISTRY_PREFIX="dockerhub_username/" IMAGE_NAME="postgres-backup-local" docker buildx bake --pull
```
In order to publish directly to the registry run this command instead:
```sh
REGISTRY_PREFIX="dockerhub_username/" docker buildx bake --pull --push
```
Also, optionally, it can also generate build revision tags from last git commit:
```sh
REGISTRY_PREFIX="dockerhub_username/" BUILD_REVISION=$(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
```
+26 -22
View File
@@ -6,6 +6,10 @@ variable "REGISTRY_PREFIX" {
default = ""
}
variable "IMAGE_NAME" {
default = "postgres-backup-local"
}
variable "BUILD_REVISION" {
default = ""
}
@@ -25,9 +29,9 @@ target "debian-latest" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "14"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:latest",
"${REGISTRY_PREFIX}postgres-backup-local:14",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:14-debian-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:latest",
"${REGISTRY_PREFIX}${IMAGE_NAME}:14",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:14-debian-${BUILD_REVISION}" : ""
]
}
@@ -36,9 +40,9 @@ target "alpine-latest" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "14-alpine"}
tags = [
"${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}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:alpine",
"${REGISTRY_PREFIX}${IMAGE_NAME}:14-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:14-alpine-${BUILD_REVISION}" : ""
]
}
@@ -47,8 +51,8 @@ target "debian-13" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "13"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:13",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:13-debian-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:13",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:13-debian-${BUILD_REVISION}" : ""
]
}
@@ -57,8 +61,8 @@ target "alpine-13" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "13-alpine"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:13-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:13-alpine-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:13-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:13-alpine-${BUILD_REVISION}" : ""
]
}
@@ -67,8 +71,8 @@ target "debian-12" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "12"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:12",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:12-debian-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:12",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:12-debian-${BUILD_REVISION}" : ""
]
}
@@ -77,8 +81,8 @@ target "alpine-12" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "12-alpine"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:12-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:12-alpine-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:12-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:12-alpine-${BUILD_REVISION}" : ""
]
}
@@ -87,8 +91,8 @@ target "debian-11" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7"]
args = {"BASETAG" = "11"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:11",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:11-debian-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:11",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:11-debian-${BUILD_REVISION}" : ""
]
}
@@ -97,8 +101,8 @@ target "alpine-11" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "11-alpine"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:11-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:11-alpine-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:11-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:11-alpine-${BUILD_REVISION}" : ""
]
}
@@ -107,8 +111,8 @@ target "debian-10" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7"]
args = {"BASETAG" = "10"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:10",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:10-debian-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:10",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:10-debian-${BUILD_REVISION}" : ""
]
}
@@ -117,7 +121,7 @@ target "alpine-10" {
platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/s390x", "linux/ppc64le"]
args = {"BASETAG" = "10-alpine"}
tags = [
"${REGISTRY_PREFIX}postgres-backup-local:10-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}postgres-backup-local:10-alpine-${BUILD_REVISION}" : ""
"${REGISTRY_PREFIX}${IMAGE_NAME}:10-alpine",
notequal("", BUILD_REVISION) ? "${REGISTRY_PREFIX}${IMAGE_NAME}:10-alpine-${BUILD_REVISION}" : ""
]
}
+18 -15
View File
@@ -3,7 +3,6 @@
set -e
DOCKER_BAKE_FILE=${1:-"docker-bake.hcl"}
IMAGE_NAME=${IMAGE_NAME:-"postgres-backup-local"}
GOCRONVER="v0.0.10"
MAIN_TAG="14"
@@ -29,6 +28,10 @@ variable "REGISTRY_PREFIX" {
default = ""
}
variable "IMAGE_NAME" {
default = "postgres-backup-local"
}
variable "BUILD_REVISION" {
default = ""
}
@@ -48,9 +51,9 @@ target "debian-latest" {
platforms = [$P]
args = {"BASETAG" = "$MAIN_TAG"}
tags = [
"\${REGISTRY_PREFIX}$IMAGE_NAME:latest",
"\${REGISTRY_PREFIX}$IMAGE_NAME:$MAIN_TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$MAIN_TAG-debian-\${BUILD_REVISION}" : ""
"\${REGISTRY_PREFIX}\${IMAGE_NAME}:latest",
"\${REGISTRY_PREFIX}\${IMAGE_NAME}:$MAIN_TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}\${IMAGE_NAME}:$MAIN_TAG-debian-\${BUILD_REVISION}" : ""
]
}
@@ -59,9 +62,9 @@ target "alpine-latest" {
platforms = [$P]
args = {"BASETAG" = "$MAIN_TAG-alpine"}
tags = [
"\${REGISTRY_PREFIX}$IMAGE_NAME:alpine",
"\${REGISTRY_PREFIX}$IMAGE_NAME:$MAIN_TAG-alpine",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$MAIN_TAG-alpine-\${BUILD_REVISION}" : ""
"\${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
@@ -73,8 +76,8 @@ target "debian-$TAG" {
platforms = [$P]
args = {"BASETAG" = "$TAG"}
tags = [
"\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-debian-\${BUILD_REVISION}" : ""
"\${REGISTRY_PREFIX}\${IMAGE_NAME}:$TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}\${IMAGE_NAME}:$TAG-debian-\${BUILD_REVISION}" : ""
]
}
@@ -83,8 +86,8 @@ target "alpine-$TAG" {
platforms = [$P]
args = {"BASETAG" = "$TAG-alpine"}
tags = [
"\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-alpine",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-alpine-\${BUILD_REVISION}" : ""
"\${REGISTRY_PREFIX}\${IMAGE_NAME}:$TAG-alpine",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}\${IMAGE_NAME}:$TAG-alpine-\${BUILD_REVISION}" : ""
]
}
EOF
@@ -97,8 +100,8 @@ target "debian-$TAG" {
platforms = [$P2]
args = {"BASETAG" = "$TAG"}
tags = [
"\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-debian-\${BUILD_REVISION}" : ""
"\${REGISTRY_PREFIX}\${IMAGE_NAME}:$TAG",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}\${IMAGE_NAME}:$TAG-debian-\${BUILD_REVISION}" : ""
]
}
@@ -107,8 +110,8 @@ target "alpine-$TAG" {
platforms = [$P]
args = {"BASETAG" = "$TAG-alpine"}
tags = [
"\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-alpine",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}$IMAGE_NAME:$TAG-alpine-\${BUILD_REVISION}" : ""
"\${REGISTRY_PREFIX}\${IMAGE_NAME}:$TAG-alpine",
notequal("", BUILD_REVISION) ? "\${REGISTRY_PREFIX}\${IMAGE_NAME}:$TAG-alpine-\${BUILD_REVISION}" : ""
]
}
EOF