|
1 | 1 | stages:
|
2 | 2 | - test
|
3 |
| - - build |
4 |
| - - release |
5 |
| - - deploy |
6 |
| - |
7 |
| -variables: |
8 |
| - CONTAINER_IMAGE: ${CI_REGISTRY}/${CI_PROJECT_PATH} |
9 |
| - NAMESPACE: hosting |
10 |
| - SECRET: gitlab-registry |
11 |
| - REPOSITORY: ${CI_REGISTRY}/${CI_PROJECT_PATH} |
12 |
| - RECAPTCHA_SAND: 6LejdSMUAAAAADNv4yBEqxz4TAyXEIYCbwphVSDS |
13 |
| - |
14 |
| -.docker-login: &docker-login |
15 |
| - before_script: |
16 |
| - - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} |
17 |
| - |
18 |
| -test lint: |
19 |
| - services: |
20 |
| - image: node:9.2.1 |
21 |
| - stage: test |
22 |
| - tags: |
23 |
| - - build |
24 |
| - script: |
25 |
| - - npm install -g -s --no-progress yarn node-gyp |
26 |
| - - yarn |
27 |
| - - npm rebuild node-sass --force |
28 |
| - - yarn lint |
29 |
| - except: |
30 |
| - - develop |
31 |
| - - master |
32 |
| - - tags |
33 |
| - |
34 |
| -test-build-online: |
35 |
| - services: |
36 |
| - image: docker:latest |
37 |
| - stage: test |
38 |
| - tags: |
39 |
| - - build |
40 |
| - script: |
41 |
| - - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} . |
42 |
| - - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
43 |
| - except: |
44 |
| - - develop |
45 |
| - - master |
46 |
| - - staging |
47 |
| - - tags |
48 |
| - |
49 |
| -test-build-offline: |
50 |
| - services: |
51 |
| - image: docker:latest |
| 3 | + # - build |
| 4 | + # - release |
| 5 | + # - deploy |
| 6 | + |
| 7 | +test test: |
52 | 8 | stage: test
|
53 |
| - tags: |
54 |
| - - build |
55 |
| - script: |
56 |
| - - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} --build-arg SOURCE_TYPE=OFLINE . |
57 |
| - - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
58 |
| - except: |
59 |
| - - develop |
60 |
| - - master |
61 |
| - - staging |
62 |
| - - tags |
63 |
| - |
64 |
| - |
65 |
| -dev-release: |
66 |
| - image: docker:latest |
67 |
| - stage: release |
68 |
| - tags: |
69 |
| - - build |
70 |
| - <<: *docker-login |
71 |
| - script: |
72 |
| - - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} . |
73 |
| - - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
74 |
| - - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
75 |
| - only: |
76 |
| - - develop |
77 |
| - |
78 |
| -dev-release-offline: |
79 |
| - image: docker:latest |
80 |
| - stage: release |
81 |
| - tags: |
82 |
| - - build |
83 |
| - <<: *docker-login |
84 |
| - script: |
85 |
| - - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8}-offline --build-arg SOURCE_TYPE=OFFLINE . |
86 |
| - - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8}-offline |
87 |
| - - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8}-offline |
88 |
| - only: |
89 |
| - - develop |
90 |
| - |
91 |
| - |
92 |
| -dev-deploy: |
93 |
| - image: exon/helm |
94 |
| - stage: deploy |
95 |
| - tags: |
96 |
| - - develop |
97 |
| - before_script: |
98 |
| - - mkdir -p /etc/deploy/ |
99 |
| - - echo ${SANDBOX_KUBE_CONFIG} | base64 -d > ${KUBECONFIG} |
100 |
| - - helm init --client-only |
101 |
| - - helm repo update |
102 |
| - environment: |
103 |
| - name: develop |
104 |
| - script: |
105 |
| - - cd charts/ui |
106 |
| - - helm dep up |
107 |
| - - helm upgrade --install --debug --namespace=${NAMESPACE} ${CI_PROJECT_NAME} --set tags.db=false --set image.tag=${CI_COMMIT_SHA:0:8} --set image.secret=${SECRET} --set image.repository=${REPOSITORY} --set service.externalIP=192.168.88.210 --set env.global.SOURCE_TYPE=online --set env.global.API_PROTOCOL_TYPE=ssl --set env.local.RECAPTCHA=${RECAPTCHA_SAND} --set env.local.API_HOST=192.168.88.210 --values values.yaml . |
108 |
| - - helm upgrade --install --debug --namespace=${NAMESPACE} ${CI_PROJECT_NAME}-offline --set tags.db=false --set image.tag=${CI_COMMIT_SHA:0:8}-offline --set image.secret=${SECRET} --set image.repository=${REPOSITORY} --set service.externalIP=192.168.88.210 --set env.global.SOURCE_TYPE=OFFLINE --set env.global.API_PROTOCOL_TYPE=ssl --set env.local.RECAPTCHA=${RECAPTCHA_SAND} --set env.local.API_HOST=192.168.88.210 --set service.port=3002 --values values.yaml . |
109 |
| - only: |
110 |
| - - develop |
111 |
| - |
112 |
| - |
113 |
| -pub-github: |
114 |
| - image: alpine |
115 |
| - stage: release |
116 |
| - tags: |
117 |
| - - build |
118 |
| - before_script: |
119 |
| - - apk update |
120 |
| - - apk upgrade |
121 |
| - - apk add --no-cache bash git openssh |
122 |
| - - git config --global user.email "info@containerum.io" |
123 |
| - - git config --global user.name "Containerum Bot" |
124 |
| - - mkdir -p ~/.ssh |
125 |
| - - echo ${ID_RSA_GITHUB} | base64 -d > ~/.ssh/id_rsa |
126 |
| - - echo ${ID_RSA_PUB_GITHUB} | base64 -d > ~/.ssh/id_rsa.pub |
127 |
| - - chmod 600 ~/.ssh/id_rsa |
128 |
| - - chmod 600 ~/.ssh/id_rsa.pub |
129 |
| - - eval `ssh-agent -s` |
130 |
| - - ssh-add ~/.ssh/id_rsa |
131 |
| - - ssh-keyscan -H github.com >> ~/.ssh/known_hosts |
132 |
| - script: |
133 |
| - - git remote show |
134 |
| - - if [ $(git remote show | grep github) ]; then git remote rm github; fi |
135 |
| - - if [ $(git branch --list | grep pub) ]; then git branch -d pub; fi |
136 |
| - - git remote add github ${GITHUB_REMOTE} |
137 |
| - - git pull origin develop |
138 |
| - - git fetch github |
139 |
| - - git checkout origin/develop |
140 |
| - - git checkout -b pub |
141 |
| - - git push -u github pub:develop --force |
142 |
| - - git remote rm github |
143 |
| - only: |
144 |
| - - develop |
145 |
| - |
146 |
| - |
147 |
| -stage-release: |
148 |
| - image: docker:latest |
149 |
| - stage: release |
150 |
| - tags: |
151 |
| - - build |
152 |
| - <<: *docker-login |
153 |
| - script: |
154 |
| - - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} . |
155 |
| - - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
156 |
| - - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
157 |
| - only: |
158 |
| - - master |
159 |
| - |
160 |
| - |
161 |
| -prod-release: |
162 |
| - image: docker:latest |
163 |
| - stage: release |
164 |
| - tags: |
165 |
| - - build |
166 |
| - <<: *docker-login |
167 |
| - script: |
168 |
| - - docker pull ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
169 |
| - - docker tag ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} ${CONTAINER_IMAGE}:latest |
170 |
| - - docker tag ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} ${CONTAINER_IMAGE}:${CI_COMMIT_TAG} |
171 |
| - - docker push ${CONTAINER_IMAGE}:latest |
172 |
| - - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_TAG} |
173 |
| - - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
174 |
| - only: |
175 |
| - - tags |
176 |
| - |
177 |
| -prod-deploy: |
178 |
| - image: exon/helm |
179 |
| - stage: deploy |
180 |
| - tags: |
181 |
| - - production |
182 |
| - before_script: |
183 |
| - - mkdir -p /etc/deploy/ |
184 |
| - - echo ${PRODUCTION_KUBE_CONFIG_2} | base64 -d > ${KUBECONFIG} |
185 |
| - - helm init --client-only |
186 |
| - - helm repo update |
187 |
| - environment: |
188 |
| - name: production |
189 |
| - url: https://web.containerum.io |
190 | 9 | script:
|
191 |
| - - cd charts/ui |
192 |
| - - helm dep up |
193 |
| - - helm upgrade --install --namespace=${NAMESPACE} ${CI_PROJECT_NAME} --set tags.db=false --set image.tag=${CI_COMMIT_TAG} --set image.secret=${SECRET} --set image.repository=${REPOSITORY} --set service.externalIP=${PRODUCTION_IP} --values values.yaml . |
194 |
| - only: |
195 |
| - - tags |
196 |
| - when: manual |
| 10 | + - echo "Hello!" |
| 11 | + |
| 12 | +# variables: |
| 13 | +# CONTAINER_IMAGE: ${CI_REGISTRY}/${CI_PROJECT_PATH} |
| 14 | +# NAMESPACE: hosting |
| 15 | +# SECRET: gitlab-registry |
| 16 | +# REPOSITORY: ${CI_REGISTRY}/${CI_PROJECT_PATH} |
| 17 | +# RECAPTCHA_SAND: 6LejdSMUAAAAADNv4yBEqxz4TAyXEIYCbwphVSDS |
| 18 | + |
| 19 | +# .docker-login: &docker-login |
| 20 | +# before_script: |
| 21 | +# - docker login -u gitlab-ci-token -p ${CI_BUILD_TOKEN} ${CI_REGISTRY} |
| 22 | + |
| 23 | +# test lint: |
| 24 | +# services: |
| 25 | +# image: node:9.2.1 |
| 26 | +# stage: test |
| 27 | +# tags: |
| 28 | +# - build |
| 29 | +# script: |
| 30 | +# - npm install -g -s --no-progress yarn node-gyp |
| 31 | +# - yarn |
| 32 | +# - npm rebuild node-sass --force |
| 33 | +# - yarn lint |
| 34 | +# except: |
| 35 | +# - develop |
| 36 | +# - master |
| 37 | +# - tags |
| 38 | + |
| 39 | +# test-build-online: |
| 40 | +# services: |
| 41 | +# image: docker:latest |
| 42 | +# stage: test |
| 43 | +# tags: |
| 44 | +# - build |
| 45 | +# script: |
| 46 | +# - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} . |
| 47 | +# - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
| 48 | +# except: |
| 49 | +# - develop |
| 50 | +# - master |
| 51 | +# - staging |
| 52 | +# - tags |
| 53 | + |
| 54 | +# test-build-offline: |
| 55 | +# services: |
| 56 | +# image: docker:latest |
| 57 | +# stage: test |
| 58 | +# tags: |
| 59 | +# - build |
| 60 | +# script: |
| 61 | +# - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} --build-arg SOURCE_TYPE=OFLINE . |
| 62 | +# - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
| 63 | +# except: |
| 64 | +# - develop |
| 65 | +# - master |
| 66 | +# - staging |
| 67 | +# - tags |
| 68 | + |
| 69 | + |
| 70 | +# dev-release: |
| 71 | +# image: docker:latest |
| 72 | +# stage: release |
| 73 | +# tags: |
| 74 | +# - build |
| 75 | +# <<: *docker-login |
| 76 | +# script: |
| 77 | +# - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} . |
| 78 | +# - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
| 79 | +# - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
| 80 | +# only: |
| 81 | +# - develop |
| 82 | + |
| 83 | +# dev-release-offline: |
| 84 | +# image: docker:latest |
| 85 | +# stage: release |
| 86 | +# tags: |
| 87 | +# - build |
| 88 | +# <<: *docker-login |
| 89 | +# script: |
| 90 | +# - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8}-offline --build-arg SOURCE_TYPE=OFFLINE . |
| 91 | +# - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8}-offline |
| 92 | +# - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8}-offline |
| 93 | +# only: |
| 94 | +# - develop |
| 95 | + |
| 96 | + |
| 97 | +# dev-deploy: |
| 98 | +# image: exon/helm |
| 99 | +# stage: deploy |
| 100 | +# tags: |
| 101 | +# - develop |
| 102 | +# before_script: |
| 103 | +# - mkdir -p /etc/deploy/ |
| 104 | +# - echo ${SANDBOX_KUBE_CONFIG} | base64 -d > ${KUBECONFIG} |
| 105 | +# - helm init --client-only |
| 106 | +# - helm repo update |
| 107 | +# environment: |
| 108 | +# name: develop |
| 109 | +# script: |
| 110 | +# - cd charts/ui |
| 111 | +# - helm dep up |
| 112 | +# - helm upgrade --install --debug --namespace=${NAMESPACE} ${CI_PROJECT_NAME} --set tags.db=false --set image.tag=${CI_COMMIT_SHA:0:8} --set image.secret=${SECRET} --set image.repository=${REPOSITORY} --set service.externalIP=192.168.88.210 --set env.global.SOURCE_TYPE=online --set env.global.API_PROTOCOL_TYPE=ssl --set env.local.RECAPTCHA=${RECAPTCHA_SAND} --set env.local.API_HOST=192.168.88.210 --values values.yaml . |
| 113 | +# - helm upgrade --install --debug --namespace=${NAMESPACE} ${CI_PROJECT_NAME}-offline --set tags.db=false --set image.tag=${CI_COMMIT_SHA:0:8}-offline --set image.secret=${SECRET} --set image.repository=${REPOSITORY} --set service.externalIP=192.168.88.210 --set env.global.SOURCE_TYPE=OFFLINE --set env.global.API_PROTOCOL_TYPE=ssl --set env.local.RECAPTCHA=${RECAPTCHA_SAND} --set env.local.API_HOST=192.168.88.210 --set service.port=3002 --values values.yaml . |
| 114 | +# only: |
| 115 | +# - develop |
| 116 | + |
| 117 | + |
| 118 | +# pub-github: |
| 119 | +# image: alpine |
| 120 | +# stage: release |
| 121 | +# tags: |
| 122 | +# - build |
| 123 | +# before_script: |
| 124 | +# - apk update |
| 125 | +# - apk upgrade |
| 126 | +# - apk add --no-cache bash git openssh |
| 127 | +# - git config --global user.email "info@containerum.io" |
| 128 | +# - git config --global user.name "Containerum Bot" |
| 129 | +# - mkdir -p ~/.ssh |
| 130 | +# - echo ${ID_RSA_GITHUB} | base64 -d > ~/.ssh/id_rsa |
| 131 | +# - echo ${ID_RSA_PUB_GITHUB} | base64 -d > ~/.ssh/id_rsa.pub |
| 132 | +# - chmod 600 ~/.ssh/id_rsa |
| 133 | +# - chmod 600 ~/.ssh/id_rsa.pub |
| 134 | +# - eval `ssh-agent -s` |
| 135 | +# - ssh-add ~/.ssh/id_rsa |
| 136 | +# - ssh-keyscan -H github.com >> ~/.ssh/known_hosts |
| 137 | +# script: |
| 138 | +# - git remote show |
| 139 | +# - if [ $(git remote show | grep github) ]; then git remote rm github; fi |
| 140 | +# - if [ $(git branch --list | grep pub) ]; then git branch -d pub; fi |
| 141 | +# - git remote add github ${GITHUB_REMOTE} |
| 142 | +# - git pull origin develop |
| 143 | +# - git fetch github |
| 144 | +# - git checkout origin/develop |
| 145 | +# - git checkout -b pub |
| 146 | +# - git push -u github pub:develop --force |
| 147 | +# - git remote rm github |
| 148 | +# only: |
| 149 | +# - develop |
| 150 | + |
| 151 | + |
| 152 | +# stage-release: |
| 153 | +# image: docker:latest |
| 154 | +# stage: release |
| 155 | +# tags: |
| 156 | +# - build |
| 157 | +# <<: *docker-login |
| 158 | +# script: |
| 159 | +# - docker build -t ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} . |
| 160 | +# - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
| 161 | +# - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
| 162 | +# only: |
| 163 | +# - master |
| 164 | + |
| 165 | + |
| 166 | +# prod-release: |
| 167 | +# image: docker:latest |
| 168 | +# stage: release |
| 169 | +# tags: |
| 170 | +# - build |
| 171 | +# <<: *docker-login |
| 172 | +# script: |
| 173 | +# - docker pull ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
| 174 | +# - docker tag ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} ${CONTAINER_IMAGE}:latest |
| 175 | +# - docker tag ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} ${CONTAINER_IMAGE}:${CI_COMMIT_TAG} |
| 176 | +# - docker push ${CONTAINER_IMAGE}:latest |
| 177 | +# - docker push ${CONTAINER_IMAGE}:${CI_COMMIT_TAG} |
| 178 | +# - docker rmi --force ${CONTAINER_IMAGE}:${CI_COMMIT_SHA:0:8} |
| 179 | +# only: |
| 180 | +# - tags |
| 181 | + |
| 182 | +# prod-deploy: |
| 183 | +# image: exon/helm |
| 184 | +# stage: deploy |
| 185 | +# tags: |
| 186 | +# - production |
| 187 | +# before_script: |
| 188 | +# - mkdir -p /etc/deploy/ |
| 189 | +# - echo ${PRODUCTION_KUBE_CONFIG_2} | base64 -d > ${KUBECONFIG} |
| 190 | +# - helm init --client-only |
| 191 | +# - helm repo update |
| 192 | +# environment: |
| 193 | +# name: production |
| 194 | +# url: https://web.containerum.io |
| 195 | +# script: |
| 196 | +# - cd charts/ui |
| 197 | +# - helm dep up |
| 198 | +# - helm upgrade --install --namespace=${NAMESPACE} ${CI_PROJECT_NAME} --set tags.db=false --set image.tag=${CI_COMMIT_TAG} --set image.secret=${SECRET} --set image.repository=${REPOSITORY} --set service.externalIP=${PRODUCTION_IP} --values values.yaml . |
| 199 | +# only: |
| 200 | +# - tags |
| 201 | +# when: manual |
0 commit comments