this repo has no description
1stages:
2 - build
3 - push
4
5image: docker:dind
6
7before_script:
8 - echo $CI_JOB_TOKEN | docker login -u gitlab-ci-token --password-stdin $CI_REGISTRY
9
10services:
11 - name: docker:dind
12 alias: docker
13 command: ["--tls=false"]
14
15variables:
16 DOCKER_DRIVER: overlay2
17 DOCKER_HOST: tcp://docker:2375/
18 DOCKER_TLS_CERTDIR: ""
19
20Build:
21 stage: build
22 except:
23 variables:
24 - $DOCKER_NO_CACHE
25 script:
26 - docker pull $CI_REGISTRY_IMAGE:latest || true
27 - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
28 - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
29
30Build without cache:
31 stage: build
32 only:
33 variables:
34 - $DOCKER_NO_CACHE
35 script:
36 - docker build --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
37 - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
38
39Push latest:
40 variables:
41 GIT_STRATEGY: none
42 stage: push
43 only:
44 - main
45 script:
46 - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
47 - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
48 - docker push $CI_REGISTRY_IMAGE:latest
49
50Push tag:
51 variables:
52 GIT_STRATEGY: none
53 stage: push
54 only:
55 - tags
56 script:
57 - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
58 - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
59 - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME