File tree 1 file changed +22
-17
lines changed 1 file changed +22
-17
lines changed Original file line number Diff line number Diff line change 1
- image : docker:latest
1
+ image : tmaier/docker-compose:latest
2
+ services :
3
+ - docker:dind
4
+
5
+ stages :
6
+ - build
7
+ - test
8
+ - release
9
+ - deploy
2
10
3
11
variables :
4
12
APP_TAG : app-local
13
+ TEST_TAG : $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
14
+ RELEASE_TAG : $CI_REGISTRY_IMAGE:latest
5
15
BUILD_DIR : build/
6
16
7
- services :
8
- - docker:dind
9
-
10
17
before_script :
18
+ - docker info
19
+ - docker-compose --version
11
20
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
12
21
13
22
build :
14
23
stage : build
15
24
script :
16
- - docker build --pull --file $BUILD_DIR/Dockerfile --target production --tag "$APP_TAG" .
25
+ - docker build --pull --file $BUILD_DIR/Dockerfile --target production --tag $TEST_TAG .
26
+ - docker push $TEST_TAG
17
27
18
28
test :
19
29
stage : test
20
30
script :
31
+ - docker pull $TEST_TAG
32
+ - docker tag $TEST_TAG $APP_TAG
21
33
- docker-compose -f $BUILD_DIR/docker-compose.test.yml run sut
22
34
23
- deploy :
24
- stage : deploy
25
- script :
26
- - docker tag "$APP_TAG" "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
27
- - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
28
- except :
29
- - master
30
-
31
- deploy-master :
32
- stage : deploy
35
+ release :
36
+ stage : release
33
37
script :
34
- - docker tag "$APP_TAG" "$CI_REGISTRY_IMAGE"
35
- - docker push "$CI_REGISTRY_IMAGE"
38
+ - docker pull $TEST_TAG
39
+ - docker tag $TEST_TAG $RELEASE_TAG
40
+ - docker push $RELEASE_TAG
36
41
only :
37
42
- master
You can’t perform that action at this time.
0 commit comments