image: docker:git services: - docker:dind variables: DOCKER_DRIVER: overlay before_script: - docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" "$CI_REGISTRY" .test_build: &test_build stage: test script: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 - set -- $CI_JOB_NAME - docker build -f "Dockerfile.$1" . except: - master .build_and_deploy: &build_and_deploy stage: build script: - docker build -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" -f "Dockerfile.$CI_BUILD_NAME" . - docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" only: - master .test_custom: &test_custom stage: test script: # Hack to set an array in /bin/sh # http://unix.stackexchange.com/a/137571 - set -- $CI_JOB_NAME - ./scripts/custom-docker-build $1 except: - master .build_and_deploy_custom: &build_and_deploy_custom stage: build script: - ./scripts/custom-docker-build $CI_BUILD_NAME -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" - docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" only: - master # Tests ruby-2.1-git-2.7-phantomjs-2.1 test: *test_custom ruby-2.3-git-2.7-phantomjs-2.1 test: *test_custom ruby-2.3-golang-1.8-git-2.13 test: *test_custom ruby-2.3-golang-1.8-git-2.8 test: *test_custom ruby-2.3.3-git-2.7-phantomjs-2.1-node-7.1 test: *test_custom ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1 test: *test_custom ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6 test: *test_custom ruby-2.3.3-golang-1.8-git-2.13-phantomjs-2.1-node-7.1-postgresql-9.6 test: *test_custom ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6 test: *test_custom ruby-2.3.3-golang-1.8-git-2.13-chrome-60.0-node-7.1-postgresql-9.6 test: *test_custom ruby-2.4.1-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6 test: *test_custom golang-1.8-git-2.8.4 test: *test_custom golang-1.8-git-2.13 test: *test_custom ruby-2.3.3-golang-1.8-git-2.13-chrome-59.0-node-7.1-postgresql-9.6 test: *test_build www-gitlab-com test: *test_build doc-gitlab-com test: *test_build gitlab-qa test: *test_build omnibus-gitlab-centos6 test: *test_build omnibus-gitlab-centos7 test: *test_build omnibus-gitlab-jessie test: *test_build omnibus-gitlab-stretch test: *test_build omnibus-gitlab-opensuse42.2 test: *test_build omnibus-gitlab-trusty test: *test_build omnibus-gitlab-wheezy test: *test_build omnibus-gitlab-xenial test: *test_build # Builds ruby-2.1-git-2.7-phantomjs-2.1: *build_and_deploy_custom ruby-2.3-git-2.7-phantomjs-2.1: *build_and_deploy_custom ruby-2.3-golang-1.8-git-2.13: *build_and_deploy_custom ruby-2.3-golang-1.8-git-2.8: *build_and_deploy_custom ruby-2.3.3-git-2.7-phantomjs-2.1-node-7.1: *build_and_deploy_custom ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1: *build_and_deploy_custom ruby-2.3.3-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6: *build_and_deploy_custom ruby-2.3.3-golang-1.8-git-2.13-phantomjs-2.1-node-7.1-postgresql-9.6: *build_and_deploy_custom ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6: *build_and_deploy_custom ruby-2.3.3-golang-1.8-git-2.13-chrome-60.0-node-7.1-postgresql-9.6: *build_and_deploy_custom ruby-2.4.1-golang-1.8-git-2.7-phantomjs-2.1-node-7.1-postgresql-9.6: *build_and_deploy_custom golang-1.8-git-2.8.4: *build_and_deploy_custom golang-1.8-git-2.13: *build_and_deploy_custom ruby-2.3.3-golang-1.8-git-2.13-chrome-59.0-node-7.1-postgresql-9.6: *build_and_deploy www-gitlab-com: *build_and_deploy doc-gitlab-com: *build_and_deploy gitlab-qa: *build_and_deploy omnibus-gitlab-centos6: *build_and_deploy omnibus-gitlab-centos7: *build_and_deploy omnibus-gitlab-jessie: *build_and_deploy omnibus-gitlab-stretch: *build_and_deploy omnibus-gitlab-opensuse42.2: *build_and_deploy omnibus-gitlab-trusty: *build_and_deploy omnibus-gitlab-wheezy: *build_and_deploy omnibus-gitlab-xenial: *build_and_deploy