diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1bafdff63044b41cfd9a8d2bb275184a7c924c12 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -0,0 +1,67 @@ +stages: + - build + - release + + +build: + image: docker:20.10.16 + # run on a gitlab-runner that is configured with docker-in-docker + tags: + - dind + stage: build + except: + - tags + services: + - docker:20.10.16-dind + variables: + # use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled + # mounts /certs directory for the service and build container + # needed for the Docker client to use the certificates + DOCKER_TLS_CERTDIR: "/certs" + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + script: + # use previous image as a cache to speedup build process + - docker pull $CI_REGISTRY_IMAGE:latest || true + - cd dexer/ && docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA . + +build:tagged: + image: docker:20.10.16 + # run on a gitlab-runner that is configured with docker-in-docker + tags: + - dind + stage: build + # only for git tags + only: + - tags + services: + - docker:20.10.16-dind + variables: + # use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled + # mounts /certs directory for the service and build container + # needed for the Docker client to use the certificates + DOCKER_TLS_CERTDIR: "/certs" + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + script: + # use previous image as a cache to speedup build process + - docker pull $CI_REGISTRY_IMAGE:latest || true + - cd dexer/ && docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG --tag $CI_REGISTRY_IMAGE:latest . + - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG + - docker push $CI_REGISTRY_IMAGE:latest + +release: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + rules: + - if: $CI_COMMIT_TAG + script: + - echo "running release_job" + # See https://docs.gitlab.com/ee/ci/yaml/#release + release: + tag_name: '$CI_COMMIT_TAG' + description: '$CI_COMMIT_TAG' + + + +