crm
# Jenkinsfile
pipeline {
agent {
kubernetes {
label 'crm-new'
yaml '''apiVersion: v1
kind: Pod
spec:
containers:
- name: "node14"
image: "node:14"
command: [\'cat\']
tty: true
volumeMounts:
- mountPath: "/home/jenkins/aws"
name: "aws-data-volume"
readOnly: false
- mountPath: "/home/jenkins/send_dingding.sh"
name: "dingding-script-volume"
subPath: "send_dingding.sh"
- mountPath: "/root/.aws/config"
name: "config-volume"
subPath: "config"
- mountPath: "/root/.aws/credentials"
name: "config-volume"
subPath: "credentials"
- mountPath: "/var/run/docker.sock"
name: "volume-0"
readOnly: false
- mountPath: "/home/jenkins/agent"
name: "workspace-volume"
readOnly: false
nodeSelector:
env: devops
volumes:
- name: "aws-data-volume"
persistentVolumeClaim:
claimName: "birenchong-aws-data-pvc"
- hostPath:
path: "/var/run/docker.sock"
name: "volume-0"
- emptyDir:
medium: ""
name: "workspace-volume"
- configMap:
items:
- key: "aws-config"
path: "config"
- key: "aws-credentials"
path: "credentials"
name: "birenchong-eks-config"
name: "config-volume"
- configMap:
items:
- key: "send_dingding.sh"
path: "send_dingding.sh"
name: "birenchong-jenkins-dingding-script"
name: "dingding-script-volume"
'''
}
}
stages {
stage('构建') {
agent none
steps {
container('node14') {
sh 'npm install'
sh 'npm run build'
}
}
}
stage('配置aws凭证') {
agent none
steps {
container('node14') {
sh 'cp /home/jenkins/aws/awscliv2.zip .'
sh 'unzip awscliv2.zip'
sh './aws/install'
}
}
}
stage('推送到S3') {
agent none
when {
branch 'dev'
}
steps {
container('node14') {
sh 'aws s3 sync public/ s3://test-crm.birenchong.cn/'
}
}
}
}
environment {
APP_NAME = 'crm'
}
post {
success {
container('node14') {
sh 'bash /home/jenkins/send_dingding.sh "构建成功" "https://test-crm.birenchong.cn"'
}
}
failure {
container('node14') {
sh 'bash /home/jenkins/send_dingding.sh "构建失败"'
}
}
aborted {
container('base') {
sh 'bash /home/jenkins/send_dingding.sh "取消构建"'
}
}
}
}
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
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
Last Updated: 2023/11/08, 14:45:54