Skip to content
Snippets Groups Projects

multiarch manifest

Merged Alexey Kuklin requested to merge x86 into master
1 file
+ 30
6
Compare changes
  • Side-by-side
  • Inline
+ 30
6
@@ -4,28 +4,52 @@ services:
@@ -4,28 +4,52 @@ services:
stages:
stages:
- build
- build
- manifest
before_script:
before_script:
 
- mkdir ~/.docker
 
- "echo '{ \"experimental\": \"enabled\" }' > ~/.docker/config.json"
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.vereign.com
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.vereign.com
ppc64le:
ppc64le:
variables:
variables:
IMAGE: registry.vereign.com/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
 
IMAGE_SHA: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_SHA
stage: build
stage: build
tags:
tags:
- ppc64le
- ppc64le
script:
script:
- docker build --pull --build-arg ARCH=$CI_JOB_NAME -t $IMAGE -f Dockerfile .
- docker build --build-arg ARCH=$CI_JOB_NAME --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE -f Dockerfile .
- docker push $IMAGE
- docker push $IMAGE
- docker tag $IMAGE $IMAGE_SHA
 
- docker push $IMAGE_SHA
amd64:
amd64:
variables:
variables:
IMAGE: registry.vereign.com/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
 
IMAGE_SHA: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_SHA
stage: build
stage: build
tags:
tags:
- amd64
- amd64
script:
script:
- docker build --pull --build-arg ARCH=$CI_JOB_NAME -t $IMAGE -f Dockerfile .
- docker build --build-arg ARCH=$CI_JOB_NAME --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE -f Dockerfile .
- docker push $IMAGE
- docker push $IMAGE
 
- docker tag $IMAGE $IMAGE_SHA
 
- docker push $IMAGE_SHA
 
 
manifest:
 
variables:
 
IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
 
IMAGE_SHA: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_SHA
 
IMAGE_amd64: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
 
IMAGE_SHA_amd64: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_SHA
 
IMAGE_ppc64le: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
 
IMAGE_SHA_ppc64le: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_SHA
 
stage: manifest
 
tags:
 
- amd64
 
script:
 
- docker manifest create $IMAGE $IMAGE_amd64 $IMAGE_ppc64le
 
- docker manifest push $IMAGE
 
- docker manifest create $IMAGE_SHA $IMAGE_SHA_amd64 $IMAGE_SHA_ppc64le
 
- docker manifest push $IMAGE_SHA
Loading