fix(ci): create docker context before buildx to handle dind TLS

buildx create --driver docker-container cannot inherit TLS env vars
from docker:dind directly; it needs a named context. Create 'tls-env'
from the ambient DOCKER_HOST/DOCKER_CERT_PATH, then point buildx at it.
This commit is contained in:
2026-04-18 03:51:33 +02:00
parent faa63de3c7
commit ad846be2c7

View File

@@ -16,7 +16,8 @@ backend:docker:
DOCKER_TLS_CERTDIR: "/certs"
before_script:
- docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASSWORD" $REGISTRY
- docker buildx create --name ci-builder --driver docker-container --use
- docker context create tls-env
- docker buildx create --name ci-builder --driver docker-container --use tls-env
script:
- docker buildx build --output "type=image,push=true,rewrite-timestamp=true" -f backend/deploy/Dockerfile -t "$BACKEND_IMAGE:${CI_COMMIT_SHORT_SHA}" backend/
rules:
@@ -58,7 +59,8 @@ web:docker:
DOCKER_TLS_CERTDIR: "/certs"
before_script:
- docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASSWORD" $REGISTRY
- docker buildx create --name ci-builder --driver docker-container --use
- docker context create tls-env
- docker buildx create --name ci-builder --driver docker-container --use tls-env
script:
- |
docker buildx build --output "type=image,push=true,rewrite-timestamp=true" \