-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.gitlab-ci.yml
129 lines (122 loc) · 3.92 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
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
image: docker:20.10.22
services:
- docker:20.10.22-dind
variables:
dev: dev
re7: preprod
master: prod
docker_backend_image: "$CI_REGISTRY/cour-de-cassation/label/backend:$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA"
docker_client_image: "$CI_REGISTRY/cour-de-cassation/label/client:$CI_COMMIT_BRANCH-$CI_COMMIT_SHORT_SHA"
stages:
- test
- build
- deploy
# Partie à compléter par les développeurs label
# test:
# stage: test
# services:
# - docker:20.10.22
# script:
# - echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
# - docker build
# --build-arg http_proxy=$HTTP_PROXY
# --build-arg https_proxy=$HTTPS_PROXY
# #--target test
# -t label-test
# # docker run label-back-test /bin/sh -c "yarn install -- ; yarn compile ...."
# # -> ici on lance un conteneur un par un, donc les données générées par le yarn install ne sont pas sauvegardées.
# - docker run label-test yarn install
# - docker run label-test yarn compile
# - docker run label-test yarn test
# - docker run label-test yarn lint
# only:
# - master
# - re7
# - dev
build_label_backend:
stage: build
variables:
HTTP_PROXY: $HTTP_PROXY_DEV
HTTPS_PROXY: $HTTPS_PROXY_DEV
script:
- docker login -u $PUBLIC_DOCKER_USERNAME -p $PUBLIC_DOCKER_PASSWORD
- echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
- docker build
--build-arg http_proxy=$HTTP_PROXY
--build-arg https_proxy=$HTTPS_PROXY
--target label-backend
-f Dockerfile.label-backend
-t $docker_backend_image .
- docker push $docker_backend_image
only:
- master
- re7
- dev
- develop-open-sso
tags:
- docker
build_label_client:
stage: build
variables:
HTTP_PROXY: $HTTP_PROXY_DEV
HTTPS_PROXY: $HTTPS_PROXY_DEV
script:
- docker login -u $PUBLIC_DOCKER_USERNAME -p $PUBLIC_DOCKER_PASSWORD
- echo $CI_JOB_TOKEN | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
- export NODE_OPTIONS=--openssl-legacy-provider
- docker build
--build-arg http_proxy=$HTTP_PROXY
--build-arg https_proxy=$HTTPS_PROXY
--target label-client
-f Dockerfile.label-client
-t $docker_client_image .
- docker push $docker_client_image
only:
- master
- re7
- dev
- develop-open-sso
tags:
- docker
deploy_label_backend:
stage: deploy
image: alpine/ansible:2.16.1
script:
#- inventaire=$(eval "echo \$$CI_COMMIT_BRANCH")
- inventaire=dev
- mkdir /root/.ssh
- cat $SSH_KEY > /root/.ssh/id_rsa
- cat $KNOWN_HOSTS > /root/.ssh/known_hosts
- chmod 600 /root/.ssh/id_rsa
- chmod 600 /root/.ssh/known_hosts
- ansible-playbook -e label_backend_image=$docker_backend_image -i ansible/inventories/$inventaire.yml ansible/deploy_label_backend.yml --vault-password-file=$ANSIBLE_VAULT_PASS
rules:
- if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "re7"
when: manual
- if: $CI_COMMIT_BRANCH == "dev" || $CI_COMMIT_BRANCH == "develop-open-sso"
when: on_success
tags:
- docker
# dependencies:
# - build_label_backend
deploy_label_client:
stage: deploy
image: alpine/ansible:2.16.1
script:
#- inventaire=$(eval "echo \$$CI_COMMIT_BRANCH")
- inventaire=dev
- mkdir /root/.ssh
- cat $SSH_KEY > /root/.ssh/id_rsa
- cat $KNOWN_HOSTS > /root/.ssh/known_hosts
- chmod 600 /root/.ssh/id_rsa
- chmod 600 /root/.ssh/known_hosts
- ansible-playbook -e label_client_image=$docker_client_image -i ansible/inventories/$inventaire.yml ansible/deploy_label_client.yml --vault-password-file=$ANSIBLE_VAULT_PASS
rules:
- if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "re7"
when: manual
- if: $CI_COMMIT_BRANCH == "dev" || $CI_COMMIT_BRANCH == "develop-open-sso"
when: on_success
tags:
- docker
# dependencies:
# - build_label_client