summaryrefslogtreecommitdiff
path: root/.gitlab/deploy.yml
blob: c32149d9f5891269cee7ce25c14b5d64b6b266d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
.docker_tag:
  image: docker:stable
  stage: deploy
  tags: [gitlab-org-docker]
  services:
    - docker:stable-dind
  script:
    - docker info
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
    - export SOURCE_IMAGE=$TMP_IMAGE
    - export TARGET_IMAGE=$CI_REGISTRY_IMAGE:${IMAGE_TAG:-$CI_JOB_NAME}
    - |
      if [ -z "$DOTENV" ]; then
        docker pull $SOURCE_IMAGE
        docker tag $SOURCE_IMAGE $TARGET_IMAGE
      else
        ./bin/docker-dotenv
      fi
    - docker push $TARGET_IMAGE

latest:
  extends: .docker_tag
  variables:
    IMAGE_TAG: latest
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

version:
  extends: .docker_tag
  before_script:
    - export IMAGE_TAG=${CI_COMMIT_TAG/v/}
    - echo "Checking that $CI_COMMIT_TAG is last in the changelog"
    - test "$(grep '^## v' CHANGELOG.md |head -n 1)" = "## $CI_COMMIT_TAG"
  rules:
    - if: $CI_COMMIT_TAG
  allow_failure: false

.release:
  extends: .docker_tag
  rules:
    - if: $CI_COMMIT_TAG
      when: manual
  after_script:
    # Also push to registry.gitlab.com/gitlab-org/security-products/analyzers/license-finder
    - docker login -u gitlab-ci-token -p $GITLAB_TOKEN $CI_REGISTRY
    - docker tag $TARGET_IMAGE registry.gitlab.com/gitlab-org/security-products/analyzers/license-finder:${IMAGE_TAG:-$CI_JOB_NAME}
    - docker push registry.gitlab.com/gitlab-org/security-products/analyzers/license-finder:${IMAGE_TAG:-$CI_JOB_NAME}

major:
  extends: .release
  variables:
    IMAGE_TAG: $MAJOR

13-0-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.13-0-stable"

12-10-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-10-stable"

12-9-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-9-stable"

12-8-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-8-stable"

12-7-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-7-stable"

12-6-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-6-stable"

12-5-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-5-stable"

12-4-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-4-stable"

12-3-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-3-stable"

12-2-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.12-2-stable"

12-1-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

12-0-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-11-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-10-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-9-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-8-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-7-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-6-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-5-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-4-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-3-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-2-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-1-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"

11-0-stable:
  extends: .release
  variables:
    DOTENV: "config/.env.legacy"