Skip to content
Snippets Groups Projects

docker-shipping

Compare and
2 files
+ 73
16
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 58
16
image: docker
image: docker:latest
services:
- docker:dind
stages:
- build
build:
image: registry.vereign.com/docker/vcl-build-base:master
- manifest
- deploy
variables:
DOCKER_CONFIG: ~/.docker/$CI_JOB_ID
before_script:
- "[ -d $DOCKER_CONFIG ] || mkdir -p $DOCKER_CONFIG"
- "echo '{ \"experimental\": \"enabled\" }' > $DOCKER_CONFIG/config.json"
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
after_script:
- "rm -vRf $DOCKER_CONFIG"
ppc64le:
variables:
IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
stage: build
tags:
- ppc64le
script:
- docker build --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN --pull -t $IMAGE -f Dockerfile .
- docker push $IMAGE
amd64:
variables:
IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_JOB_NAME:$CI_COMMIT_REF_NAME
stage: build
artifacts:
paths:
- build.tgz
expire_in: 8 week
tags:
- dell
- amd64
script:
- docker build --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN --pull -t $IMAGE -f Dockerfile .
- docker push $IMAGE
manifest:
variables:
IMAGE: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME:$CI_COMMIT_REF_NAME
IMAGE_amd64: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/amd64:$CI_COMMIT_REF_NAME
IMAGE_ppc64le: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/ppc64le:$CI_COMMIT_REF_NAME
stage: manifest
tags:
- amd64
script:
- docker manifest create $IMAGE $IMAGE_amd64 $IMAGE_ppc64le
- docker manifest push $IMAGE
deploy:
stage: deploy
tags:
- hv2
only:
- master
script:
- mkdir -p $GOPATH/src/code.vereign.com/code
- ln -s `pwd` $GOPATH/src/code.vereign.com/code/
- cd $GOPATH/src/code.vereign.com/code/vcl
- git config --global credential.https://code.vereign.com.username gitlab-ci-token
- git config --global credential.helper "store --file /tmp/store"
- echo https://gitlab-ci-token:$CI_JOB_TOKEN@code.vereign.com > /tmp/store
- make
- tar -czf build.tgz -C /builds/code/vcl/javascript/dist/. .
- apk add curl
- for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=master https://code.vereign.com/api/v4/projects/59/trigger/pipeline; done
Loading