-
Notifications
You must be signed in to change notification settings - Fork 0
/
jenkinsfile
121 lines (115 loc) · 4.38 KB
/
jenkinsfile
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
pipeline {
agent any
options {
timestamps()
}
stages {
stage('Clone jiandansousuo.com') {
steps {
checkout \
changelog: false,
poll: false,
scm: [
$class: 'GitSCM',
branches: [
[name: '*/master']
],
doGenerateSubmoduleConfigurations: false,
extensions: [
[
$class: 'CloneOption',
noTags: true,
reference: '',
shallow: true
],
[
$class: 'RelativeTargetDirectory',
relativeTargetDir: 'www'
]
],
submoduleCfg: [],
userRemoteConfigs: [
[
credentialsId: 'shangxianapp-github-xuexb-ssh-key',
url: '[email protected]:jiandansousuo/jiandansousuo.com.git'
]
]
]
}
}
stage('Build html') {
steps {
nodejs('Node.js-11.9.0') {
sh "yarn -v && node -v"
sh "cd www && yarn install && yarn build"
}
}
}
stage('Sync html') {
steps {
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'sg02',
transfers: [
sshTransfer(
cleanRemote: true,
excludes: '',
execCommand: 'echo "sync success"',
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: "$WWWROOT_DIR/jiandansousuo.com",
remoteDirectorySDF: false,
removePrefix: 'www/public',
sourceFiles: 'www/public/**/*'
)
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false
)
]
)
}
}
stage('Reload nginx') {
steps {
sh "mv nginx.conf jiandansousuo.com.conf"
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'sg02',
transfers: [
sshTransfer(
cleanRemote: false,
excludes: '',
execCommand: "/bin/sh $DOCKER_NGINX_DIR/reload.sh",
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: "$DOCKER_NGINX_VHOST_DIR",
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: 'jiandansousuo.com.conf'
)
],
usePromotionTimestamp: false,
useWorkspaceInPromotion: false,
verbose: false
)
]
)
}
}
}
post {
always {
deleteDir()
}
}
}