From 5ce358e4140452b4d4791bc46c6c5b7a01dd6683 Mon Sep 17 00:00:00 2001 From: Deon George Date: Wed, 17 May 2023 20:56:56 +1000 Subject: [PATCH] Update gitlab CI/CD to build multi-arch --- .gitlab-ci.yml | 14 +++++++++++--- .gitlab-docker-manifest.yml | 10 ++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 .gitlab-docker-manifest.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3733429..953346b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,23 +1,31 @@ stages: - build +- build-manifest variables: - DOCKER_HOST: tcp://docker:2375 VERSION: latest + DOCKER_HOST: tcp://docker:2375 VERSIONARCH: ${VERSION}-${ARCH} +cache: + key: ${CI_JOB_NAME_SLUG}-${CI_COMMIT_REF_SLUG} + paths: + - build-cache + image: docker:latest services: - docker:dind before_script: - if [ ! -d build-cache ]; then mkdir build-cache; fi -- sed -ie s'/https/http/' /etc/apk/repositories +- sed -i -e s'/https/http/' /etc/apk/repositories - HTTP_PROXY=http://proxy.dege.lan:3128 apk add git curl - docker info && docker version # env|sort -# docker login -u "$CI_DEPENDENCY_PROXY_USER" -p "$CI_DEPENDENCY_PROXY_PASSWORD" "$CI_SERVER_HOST" - echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin include: - .gitlab-docker-x86_64.yml +# .gitlab-docker-armv7l.yml +# .gitlab-docker-arm64.yml +- .gitlab-docker-manifest.yml diff --git a/.gitlab-docker-manifest.yml b/.gitlab-docker-manifest.yml new file mode 100644 index 0000000..8b38379 --- /dev/null +++ b/.gitlab-docker-manifest.yml @@ -0,0 +1,10 @@ +x86_64:build-manifest: + stage: build-manifest + script: + - docker manifest create ${CI_REGISTRY_IMAGE}:${VERSION} ${CI_REGISTRY_IMAGE}:${VERSION}-x86_64 #${CI_REGISTRY_IMAGE}:${VERSION}-arm64 ${CI_REGISTRY_IMAGE}:${VERSION}armv7l + - docker manifest push --purge ${CI_REGISTRY_IMAGE}:${VERSION} + tags: + - docker + - x86_64 + only: + - master