gitlab-build-images/.gitlab-ci.yml
2017-08-09 17:12:58 +00:00

103 lines
3.6 KiB
YAML

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
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
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