-
Notifications
You must be signed in to change notification settings - Fork 8
/
.gitlab-ci.yml
113 lines (100 loc) · 1.87 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
include:
- project: "infrastructure/gitlab-ci"
ref: main
file: "/templates/cloudbuild-common.gitlab-ci.yaml"
- project: "infrastructure/gitlab-ci"
ref: main
file: "templates/deploy.gitlab-ci.yaml"
stages:
- cloudbuild
- deploy
cloudbuild:image:dev:
only:
- dev
except:
- tags
extends: .cloudbuild:common
before_script:
- !reference [.image_branch, before_script]
- rm -rf src/config.ts && cp config/dev.ts src/config.ts
deploy:dev:
only:
- dev
except:
- tags
extends: .deploy
when: on_success
environment:
name: dev
on_stop: stop:dev
stop:dev:
only:
- dev
except:
- tags
extends: .stop
environment:
name: dev
cloudbuild:image:master:
only:
- master
except:
- tags
extends: .cloudbuild:common
before_script:
- !reference [.image_branch, before_script]
- rm -rf src/config.ts && cp config/stage.ts src/config.ts
deploy:master:
only:
- master
except:
- tags
extends: .deploy
environment:
name: stage
on_stop: stop:master
stop:master:
only:
- master
except:
- tags
extends: .stop
environment:
name: stage
cloudbuild:image:prod:
only:
- prod
except:
- tags
extends: .cloudbuild:common
before_script:
- !reference [.image_branch, before_script]
- rm -rf src/config.ts && cp config/prod.ts src/config.ts
deploy:prod:
only:
- prod
except:
- tags
extends: .deploy
environment:
name: prod
on_stop: stop:prod
stop:prod:
only:
- prod
except:
- tags
extends: .stop
environment:
name: prod
cloudbuild:image:review:
extends: .cloudbuild:common
only:
- merge_requests
before_script:
- !reference [.image_branch, before_script]
- rm -rf src/config.ts && cp config/review.ts src/config.ts
deploy:review:
extends: .deploy_review
stop:review:
extends: .stop_review