diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 95a5bf25e4aecd01052c29cca6c29a21d3bd0546..1cd8b9c469b903b815c4aa5a7977b1ff49897edd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,16 +1,62 @@ -image: docker +image: docker:latest +services: +- docker:dind + stages: - build -build: - image: registry.vereign.com/docker/vcl-build-base:master +- manifest +- deploy +before_script: + - "[ -d ~/.docker ] || mkdir ~/.docker" + - "echo '{ \"experimental\": \"enabled\" }' > ~/.docker/config.json" + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY +ppc64le: + image: ppc64le/docker:latest + services: + - ppc64le/docker:dind + variables: + 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 + tags: + - ppc64le + script: + - docker build --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 tag $IMAGE $IMAGE_SHA + - docker push $IMAGE_SHA +amd64: + variables: + 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 - artifacts: - paths: - - build.tgz - expire_in: 8 week tags: - - dell + - amd64 script: +<<<<<<< HEAD + - docker build --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 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 + +======= - echo GOPATH=$GOPATH - mkdir -p $GOPATH/src/code.vereign.com/code - ln -s `pwd` $GOPATH/src/code.vereign.com/code/ @@ -20,4 +66,5 @@ build: - echo https://gitlab-ci-token:$CI_JOB_TOKEN@code.vereign.com > /tmp/store - make - tar -czf build.tgz -C /builds/code/vcl/javascript/dist/. . +>>>>>>> 08455e86aa8627cd0438093d1adab34df9af57d6 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..9b02b7b3131972703a00443301af2e95c14410be --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM registry.vereign.com/docker/go-with-dep:master + +VOLUME /srv/srv + +COPY . /srv/src/vcl + +RUN cd /srv/src/vcl && ls && \ + 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 && cat /tmp/store && \ + export PKG=code.vereign.com/code/$CI_PROJECT_NAME && \ + make && rm /tmp/store +