41 lines
1.6 KiB
YAML
41 lines
1.6 KiB
YAML
image: docker:stable
|
|
services:
|
|
- docker:dind
|
|
|
|
variables:
|
|
DOCKER_BUILDX_VERSION: v0.18.0
|
|
DOCKER_BUILDX_ARCH: linux-amd64
|
|
DOCKER_IMAGE_BUILD_TAG: ${CI_PIPELINE_IID}
|
|
DOCKER_IMAGE_BUILD: ${CI_REGISTRY_IMAGE}:${CI_PIPELINE_IID}
|
|
DOCKER_IMAGE_LATEST: ${CI_REGISTRY_IMAGE}:latest
|
|
DOCKERX_BUILD_CONTEXT: dockerx-ctx-${CI_PIPELINE_IID}
|
|
DOCKERHUB_IMAGE_BUILD: ${DOCKERHUB_IMAGE}:${CI_PIPELINE_IID}
|
|
DOCKERHUB_IMAGE_LATEST: ${DOCKERHUB_IMAGE}:latest
|
|
|
|
stages:
|
|
- release
|
|
|
|
release:docker:
|
|
stage: release
|
|
timeout: 10m
|
|
image: docker:stable
|
|
services:
|
|
- docker:dind
|
|
before_script:
|
|
- mkdir -p ~/.docker/cli-plugins
|
|
- wget -O ~/.docker/cli-plugins/docker-buildx "https://github.com/docker/buildx/releases/download/${DOCKER_BUILDX_VERSION}/buildx-${DOCKER_BUILDX_VERSION}.${DOCKER_BUILDX_ARCH}"
|
|
- chmod a+x ~/.docker/cli-plugins/docker-buildx
|
|
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
|
- docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
|
|
- docker login -u "${DOCKERHUB_USER}" -p "${DOCKERHUB_PASSWORD}" "${DOCKERHUB_REGISTRY}"
|
|
- docker buildx create --use --name "${DOCKERX_BUILD_CONTEXT}"
|
|
script:
|
|
- docker buildx build --push --platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=$CI_COMMIT_SHORT_SHA -t ${DOCKER_IMAGE_BUILD} -t ${DOCKER_IMAGE_LATEST} -t ${DOCKERHUB_IMAGE_BUILD} -t ${DOCKERHUB_IMAGE_LATEST} .
|
|
after_script:
|
|
- rm -f .git-credentials
|
|
- docker buildx rm "${DOCKERX_BUILD_CONTEXT}"
|
|
- docker logout "${CI_REGISTRY}"
|
|
only:
|
|
- main
|
|
- tags
|
|
- schedules
|