forked from microdevops-com/accounting
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml.example
156 lines (148 loc) · 4.42 KB
/
.gitlab-ci.yml.example
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
stages:
- build
- push
- execute_yaml_check
- execute_db_structure
- execute_asset_labels
- execute_run_cmd
variables:
GIT_SUBMODULE_STRATEGY: none
ACCOUNTING_IMAGE: $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- echo ACCOUNTING_IMAGE - ${ACCOUNTING_IMAGE}
build:
tags:
- accounting
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
rules:
- if: $RUN_CMD
when: never
- if: $CI_COMMIT_REF_NAME
script:
- docker build --pull -t $ACCOUNTING_IMAGE .
push:
tags:
- accounting
stage: push
rules:
- if: $RUN_CMD
when: never
- if: $CI_COMMIT_REF_NAME
script:
- docker push $ACCOUNTING_IMAGE
execute_yaml_check:
tags:
- accounting
stage: execute_yaml_check
rules:
- if: $RUN_CMD
when: never
- if: $CI_COMMIT_REF_NAME
script:
- docker pull $ACCOUNTING_IMAGE
- |
docker run --rm \
--mount type=bind,source=/opt/sysadmws/accounting/log,target=/opt/sysadmws/accounting/log \
--mount type=bind,source=/etc/timezone,target=/etc/timezone \
--mount type=bind,source=/etc/localtime,target=/etc/localtime \
$ACCOUNTING_IMAGE /opt/sysadmws/accounting/accounting.py --yaml-check
execute_db_structure:
tags:
- accounting
stage: execute_db_structure
rules:
- if: $RUN_CMD
when: never
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
script:
- docker pull $ACCOUNTING_IMAGE
- |
docker run --rm \
--env GL_PG_DB_HOST \
--env GL_PG_DB_PORT \
--env GL_PG_DB_NAME \
--env GL_PG_DB_USER \
--env GL_PG_DB_PASS \
--env GL_ADMIN_PRIVATE_TOKEN \
--env GL_BOT_PRIVATE_TOKEN \
--env GL_USER_PRIVATE_TOKEN \
--env GL_URL \
--env PG_DB_HOST \
--env PG_DB_PORT \
--env PG_DB_NAME \
--env PG_DB_USER \
--env PG_DB_PASS \
--env SA_SECRETS_FILE \
--env SSH_DU_S_M_KEYFILE \
--env SSH_DU_S_M_USER \
--mount type=bind,source=/opt/sysadmws/accounting/log,target=/opt/sysadmws/accounting/log \
--mount type=bind,source=/etc/timezone,target=/etc/timezone \
--mount type=bind,source=/etc/localtime,target=/etc/localtime \
$ACCOUNTING_IMAGE /opt/sysadmws/accounting/accounting.py --debug --db-structure
execute_asset_labels:
tags:
- accounting
stage: execute_asset_labels
rules:
- if: $RUN_CMD
when: never
- if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
script:
- docker pull $ACCOUNTING_IMAGE
- |
docker run --rm \
--env GL_PG_DB_HOST \
--env GL_PG_DB_PORT \
--env GL_PG_DB_NAME \
--env GL_PG_DB_USER \
--env GL_PG_DB_PASS \
--env GL_ADMIN_PRIVATE_TOKEN \
--env GL_BOT_PRIVATE_TOKEN \
--env GL_USER_PRIVATE_TOKEN \
--env GL_URL \
--env PG_DB_HOST \
--env PG_DB_PORT \
--env PG_DB_NAME \
--env PG_DB_USER \
--env PG_DB_PASS \
--env SA_SECRETS_FILE \
--env SSH_DU_S_M_KEYFILE \
--env SSH_DU_S_M_USER \
--mount type=bind,source=/opt/sysadmws/accounting/log,target=/opt/sysadmws/accounting/log \
--mount type=bind,source=/etc/timezone,target=/etc/timezone \
--mount type=bind,source=/etc/localtime,target=/etc/localtime \
$ACCOUNTING_IMAGE /opt/sysadmws/accounting/accounting.py --debug --asset-labels
execute_run_cmd:
tags:
- accounting
stage: execute_run_cmd
rules:
- if: $RUN_CMD && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
script:
- docker pull $ACCOUNTING_IMAGE
- |
docker run --rm \
--env GL_PG_DB_HOST \
--env GL_PG_DB_PORT \
--env GL_PG_DB_NAME \
--env GL_PG_DB_USER \
--env GL_PG_DB_PASS \
--env GL_ADMIN_PRIVATE_TOKEN \
--env GL_BOT_PRIVATE_TOKEN \
--env GL_USER_PRIVATE_TOKEN \
--env GL_URL \
--env PG_DB_HOST \
--env PG_DB_PORT \
--env PG_DB_NAME \
--env PG_DB_USER \
--env PG_DB_PASS \
--env SA_SECRETS_FILE \
--env SSH_DU_S_M_KEYFILE \
--env SSH_DU_S_M_USER \
--mount type=bind,source=/opt/sysadmws/accounting/log,target=/opt/sysadmws/accounting/log \
--mount type=bind,source=/etc/timezone,target=/etc/timezone \
--mount type=bind,source=/etc/localtime,target=/etc/localtime \
$ACCOUNTING_IMAGE $RUN_CMD