-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
47 lines (42 loc) · 1.19 KB
/
.gitlab-ci.yml
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
stages:
- build
- deploy
build:
stage: build
variables:
IMAGE_TAG: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker build --pull -t "${IMAGE_TAG}" -t "${CI_REGISTRY_IMAGE}:latest" .
- docker push "${IMAGE_TAG}"
- docker push "${CI_REGISTRY_IMAGE}:latest"
only:
- main
- deploy
.image_name: &image_name
IMAGE_TAG: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}
.deploy base: &deploy_base
stage: deploy
variables:
IMAGE_TAG: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}
needs:
- build
before_script:
- chmod 400 "$SSH_PRIVATE_KEY"
script:
- ssh -i "$SSH_PRIVATE_KEY" -o StrictHostKeyChecking=no -p 2269 mcms-sb@${DEPLOY_HOST} "docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY && /opt/docker/tdrs.ro/b.tdrs.ro/sb-mcms.b.tdrs.ro/deploy.sh ${IMAGE_TAG} && docker logout $CI_REGISTRY "
deploy prod manual:
<<: *deploy_base
variables:
DEPLOY_HOST: sb-mcms.b.tdrs.ro
<<: *image_name
only:
- main
when: manual
deploy prod automatically:
<<: *deploy_base
variables:
DEPLOY_HOST: sb-mcms.b.tdrs.ro
<<: *image_name
only:
- deploy