]>
Commit | Line | Data |
---|---|---|
43d307a6 | 1 | variables: |
339c0f23 | 2 | CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE/test:$CI_PIPELINE_SOURCE-$CI_PIPELINE_ID-$CI_COMMIT_SHA |
43d307a6 ER |
3 | |
4 | stages: | |
5 | - build | |
6 | - test | |
7 | - release | |
8 | ||
9 | .dind: &dind | |
10 | image: docker:latest | |
11 | services: | |
12 | - docker:dind | |
13 | before_script: | |
14 | - env | grep -E '^CONTAINER_' | sort | |
15 | - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY | |
16 | ||
17 | build: | |
18 | <<: *dind | |
19 | stage: build | |
20 | script: | | |
21 | docker build --pull -t $CONTAINER_TEST_IMAGE docker | |
22 | docker push $CONTAINER_TEST_IMAGE | |
23 | ||
24 | .release: &release | |
25 | <<: *dind | |
26 | stage: release | |
27 | script: | | |
28 | docker pull $CONTAINER_TEST_IMAGE | |
29 | docker tag $CONTAINER_TEST_IMAGE $CONTAINER_IMAGE | |
30 | docker push $CONTAINER_IMAGE | |
31 | ||
32 | release branch: | |
33 | <<: *release | |
34 | variables: | |
35 | CONTAINER_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME | |
36 | except: | |
37 | - master | |
38 | - tags | |
39 | ||
40 | release master: | |
41 | <<: *release | |
42 | variables: | |
43 | CONTAINER_IMAGE: $CI_REGISTRY_IMAGE:latest | |
44 | only: | |
45 | - master | |
46 | ||
47 | release tag: | |
48 | <<: *release | |
49 | variables: | |
50 | CONTAINER_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG | |
51 | only: | |
52 | - tags | |
53 | ||
54 | # vim:ts=2:sw=2:et |