Skip to content
Snippets Groups Projects
Commit 99928871 authored by Griefed's avatar Griefed :joystick:
Browse files

ci: Manually build multiarch image as we are dealing with a BASEimage here....

ci: Manually build multiarch image as we are dealing with a BASEimage here. Want to do things from ground up as possible.
parent 34af931c
No related branches found
No related tags found
No related merge requests found
stages:
- test
- release
- build
test amd64:
image: docker:latest
stage: test
services:
- name: docker:dind
alias: docker
variables:
project_name: $CI_PROJECT_NAME
SEMANTIC_RELEASE_PACKAGE: $CI_PROJECT_NAME
before_script:
- docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_TOKEN" docker.io
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -t "$CI_REGISTRY_IMAGE:amd64-develop" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
--build-arg VERSION="$CI_COMMIT_SHORT_SHA"
--build-arg OVERLAY_ARCH="amd64"
--build-arg FETCH=amd64/ .
- docker push "$CI_REGISTRY_IMAGE:amd64-develop"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop"
- docker build -t "$CI_REGISTRY_IMAGE:armhf-develop" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
--build-arg VERSION="$CI_COMMIT_SHORT_SHA"
--build-arg OVERLAY_ARCH="arm"
--build-arg FETCH=armhf/ .
- docker push "$CI_REGISTRY_IMAGE:armhf-develop"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop"
- docker build -t "$CI_REGISTRY_IMAGE:arm64-develop" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
--build-arg VERSION="$CI_COMMIT_SHORT_SHA"
--build-arg OVERLAY_ARCH="aarch64"
--build-arg FETCH=arm64/ .
- docker push "$CI_REGISTRY_IMAGE:arm64-develop"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop"
- docker manifest create "$CI_REGISTRY_IMAGE:develop"
--amend "$CI_REGISTRY_IMAGE:amd64-develop"
--amend "$CI_REGISTRY_IMAGE:armhf-develop"
--amend "$CI_REGISTRY_IMAGE:arm64-develop"
- docker push "$CI_REGISTRY_IMAGE:develop"
- docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-develop"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-develop"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-develop"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:develop"
except:
refs:
- tags
variables:
- $CI_COMMIT_TITLE =~ /^RELEASE:.+$/
release:
needs: ['test docker']
stage: release
image: griefed/gitlab-semantic-release:latest
services:
- name: docker:dind
alias: docker
variables:
project_name: $CI_PROJECT_NAME
SEMANTIC_RELEASE_PACKAGE: $CI_PROJECT_NAME
script:
- npx semantic-release
only:
- master
except:
refs:
- tags
variables:
- $CI_COMMIT_TITLE =~ /^RELEASE:.+$/
build:
image: docker:latest
stage: build
services:
- name: docker:dind
alias: docker
variables:
project_name: $CI_PROJECT_NAME
SEMANTIC_RELEASE_PACKAGE: $CI_PROJECT_NAME
before_script:
- docker login -u "$DOCKERHUB_USER" -p "$DOCKERHUB_TOKEN" docker.io
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build -t "$CI_REGISTRY_IMAGE:amd64-latest" -t "$CI_REGISTRY_IMAGE:amd64-$CI_COMMIT_TAG" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
--build-arg VERSION="$CI_COMMIT_TAG"
--build-arg OVERLAY_ARCH="amd64"
--build-arg FETCH=amd64/ .
- docker push "$CI_REGISTRY_IMAGE:amd64-latest"
- docker push "$CI_REGISTRY_IMAGE:amd64-$CI_COMMIT_TAG"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG"
- docker build -t "$CI_REGISTRY_IMAGE:armhf-latest" -t "$CI_REGISTRY_IMAGE:armhf-$CI_COMMIT_TAG" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
--build-arg VERSION="$CI_COMMIT_TAG"
--build-arg OVERLAY_ARCH="arm"
--build-arg FETCH=armhf/ .
- docker push "$CI_REGISTRY_IMAGE:armhf-latest"
- docker push "$CI_REGISTRY_IMAGE:armhf-$CI_COMMIT_TAG"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG"
- docker build -t "$CI_REGISTRY_IMAGE:arm64-latest" -t "$CI_REGISTRY_IMAGE:arm64-$CI_COMMIT_TAG" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest" -t "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG"
--build-arg BUILD_DATE="$CI_PIPELINE_CREATED_AT"
--build-arg VERSION="$CI_COMMIT_TAG"
--build-arg OVERLAY_ARCH="aarch64"
--build-arg FETCH=arm64/ .
- docker push "$CI_REGISTRY_IMAGE:arm64-latest"
- docker push "$CI_REGISTRY_IMAGE:arm64-$CI_COMMIT_TAG"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG"
- docker manifest create "$CI_REGISTRY_IMAGE:latest"
--amend "$CI_REGISTRY_IMAGE:amd64-latest"
--amend "$CI_REGISTRY_IMAGE:armhf-latest"
--amend "$CI_REGISTRY_IMAGE:arm64-latest"
- docker push "$CI_REGISTRY_IMAGE:latest"
- docker manifest create "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG"
--amend "$CI_REGISTRY_IMAGE:amd64-$CI_COMMIT_TAG"
--amend "$CI_REGISTRY_IMAGE:armhf-$CI_COMMIT_TAG"
--amend "$CI_REGISTRY_IMAGE:arm64-$CI_COMMIT_TAG"
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG"
- docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-latest"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-latest"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-latest"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:latest"
- docker manifest create "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:amd64-$CI_COMMIT_TAG"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:armhf-$CI_COMMIT_TAG"
--amend "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:arm64-$CI_COMMIT_TAG"
- docker push "index.docker.io/$DOCKERHUB_USER/$DOCKERHUB_REPO:$CI_COMMIT_TAG"
only:
- tags
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment