-
Notifications
You must be signed in to change notification settings - Fork 8
/
.gitlab-ci.yml
136 lines (121 loc) · 4.62 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
130
131
132
133
134
135
136
stages:
- docker-dev
- deploy-dev
- deploy-new-prd
- deploy-test
# - deploy-staging
- docker-prd
- deploy-prd
variables:
AlertWebDockerFile: ./src/Web/Masa.Alert.Web.Admin.Server/Dockerfile
AlertServiceDockerFile: ./src/Services/Masa.Alert.Service/Dockerfile
Alert_Service_Image_DEV: $CI_ALI_REGISTRY_DOMAIN/masastack/masa-alert-service:dev-$CI_PIPELINE_ID
Alert_Web_Image_DEV: $CI_ALI_REGISTRY_DOMAIN/masastack/masa-alert-web-admin:dev-$CI_PIPELINE_ID
Alert_Service_Image: $CI_ALI_REGISTRY_DOMAIN/masastack/masa-alert-service:$CI_COMMIT_TAG
Alert_Web_Image: $CI_ALI_REGISTRY_DOMAIN/masastack/masa-alert-web-admin:$CI_COMMIT_TAG
NAMESPACE_DEV: masastack-dev
NAMESPACE_TEST: masastack-test
NAMESPACE_STAGING: masastack-staging
NAMESPACE_PRD: masastack
NAMESPAEC_SEC: masa-to-sec
docker-dev:
stage: docker-dev
tags:
- linux-shell
before_script:
- docker login -u $CI_ALI_REGISTRY_USER -p $CI_ALI_REGISTRY_PASSWD $CI_ALI_REGISTRY_DOMAIN
only:
- main
script:
- docker build -f $AlertWebDockerFile -t $Alert_Web_Image_DEV .
- docker push $Alert_Web_Image_DEV
- docker build -f $AlertServiceDockerFile -t $Alert_Service_Image_DEV .
- docker push $Alert_Service_Image_DEV
after_script:
- docker rmi $Alert_Service_Image_DEV
- docker rmi $Alert_Web_Image_DEV
deploy-dev:
stage: deploy-dev
image: registry.cn-hangzhou.aliyuncs.com/masa/library:kubectl-shell-v1.21.1
only:
- main
script:
- echo $KUBE_CONFIG_NEW_YDY | base64 -d > ./config
- echo $CI_PIPELINE_ID
- kubectl --kubeconfig ./config set image deployment/alert alert=$Alert_Web_Image_DEV -n $NAMESPACE_DEV
- kubectl --kubeconfig ./config set image deployment/alert-service alert-service=$Alert_Service_Image_DEV -n $NAMESPACE_DEV
retry: 2
deploy-sec:
stage: deploy-dev
image: registry.cn-hangzhou.aliyuncs.com/masa/library:kubectl-shell-v1.21.1
only:
- main
script:
- echo $KUBE_CONFIG_NEW_YDY | base64 -d > ./config
- echo $CI_PIPELINE_ID
- kubectl --kubeconfig ./config set image deployment/alert alert=$Alert_Web_Image_DEV -n $NAMESPACE_SEC
- kubectl --kubeconfig ./config set image deployment/alert-service alert-service=$Alert_Service_Image_DEV -n $NAMESPACE_SEC
retry: 2
deploy-prd:
stage: deploy-new-prd
image: registry.cn-hangzhou.aliyuncs.com/masa/library:kubectl-shell-v1.21.1
only:
- main
script:
- echo $KUBE_CONFIG_LSD_PRD_YDY | base64 -d > ./config
- echo $CI_COMMIT_ID
- kubectl --kubeconfig ./config set image deployment/alert alert=$Alert_Web_Image_DEV -n $NAMESPACE_PRD
- kubectl --kubeconfig ./config set image deployment/alert-service alert-service=$Alert_Service_Image_DEV -n $NAMESPACE_PRD
retry: 2
when: manual
deploy-test:
stage: deploy-test
image: registry.cn-hangzhou.aliyuncs.com/masa/library:kubectl-shell-v1.21.1
only:
- main
script:
- echo $KUBE_CONFIG_NEW_YDY | base64 -d > ./config
- echo $CI_PIPELINE_ID
- kubectl --kubeconfig ./config set image deployment/alert alert=$Alert_Web_Image_DEV -n $NAMESPACE_TEST
- kubectl --kubeconfig ./config set image deployment/alert-service alert-service=$Alert_Service_Image_DEV -n $NAMESPACE_TEST
retry: 2
when: manual
# deploy-staging:
# stage: deploy-staging
# image: registry.cn-hangzhou.aliyuncs.com/masa/library:kubectl-shell-v1.21.1
# only:
# - main
# script:
# - echo $KUBE_CONFIG_NEW_YDY | base64 -d > ./config
# - echo $CI_PIPELINE_ID
# - kubectl --kubeconfig ./config set image deployment/alert alert=$Alert_Web_Image_DEV -n $NAMESPACE_STAGING
# - kubectl --kubeconfig ./config set image deployment/alert-service alert-service=$Alert_Service_Image_DEV -n $NAMESPACE_STAGING
# retry: 2
# when: manual
docker-prd:
stage: docker-prd
tags:
- linux-shell
image: registry.cn-hangzhou.aliyuncs.com/masa/library:kubectl-shell-v1.21.1
only:
- tags
script:
- docker build -f $AlertWebDockerFile -t $Alert_Web_Image .
- docker push $Alert_Web_Image
- docker build -f $AlertServiceDockerFile -t $Alert_Service_Image .
- docker push $Alert_Service_Image
after_script:
- docker rmi $Alert_Service_Image
- docker rmi $Alert_Web_Image
deploy-prd:
stage: deploy-prd
image: registry.cn-hangzhou.aliyuncs.com/masa/library:kubectl-shell-v1.21.1
only:
- tags
script:
- echo $KUBE_CONFIG_LSD_PRD_YDY | base64 -d > ./config
- echo $CI_COMMIT_TAG
- kubectl --kubeconfig ./config set image deployment/alert alert=$Alert_Web_Image -n $NAMESPACE_PRD
- kubectl --kubeconfig ./config set image deployment/alert-service alert-service=$Alert_Service_Image -n $NAMESPACE_PRD
retry: 2
when: manual