forked from millix/millix-wallet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
108 lines (108 loc) · 5.75 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
pipeline {
environment {
DEST = "/home/website/wallet/release"
}
agent any
stages {
stage('build'){
parallel{
stage('build on mac'){
when {
anyOf {
branch 'master'
}
}
agent {
label 'macos'
}
steps {
echo 'hello from mac'
script {
sh('git submodule init')
sh('git submodule update')
sh('npm install')
sh('npm install -g grunt')
sh('grunt build-mac')
sh('cd ${WORKSPACE}/app/dist/ && zip -r millix-mac-x64.zip millix-mac-x64/')
withCredentials([
sshUserPrivateKey(credentialsId: "jenkins", keyFileVariable: 'keyfile_jenkins'),
string(credentialsId: "jenkins_host", variable: 'jenkins_host'),
sshUserPrivateKey(credentialsId: "info", keyFileVariable: 'keyfile_info'),
string(credentialsId: "info_host_10", variable: 'info_host_10'),
string(credentialsId: "info_host_11", variable: 'info_host_11')
]){
sh('scp -i ${keyfile_info} -oProxyCommand="ssh -i ${keyfile_jenkins} -W %h:%p millix_jenkins_s@${jenkins_host}" ${WORKSPACE}/app/dist/millix-mac-x64.zip info@${info_host_10}:${DEST}')
sh('scp -i ${keyfile_info} -oProxyCommand="ssh -i ${keyfile_jenkins} -W %h:%p millix_jenkins_s@${jenkins_host}" ${WORKSPACE}/app/dist/millix-mac-x64.zip info@${info_host_11}:${DEST}')
}
deleteDir()
}
}
}
stage('build on win'){
when {
anyOf {
branch 'master'
}
}
agent {
label 'win'
}
steps {
echo 'hello from win'
script {
bat'git submodule init'
bat'git submodule update'
bat'npm install'
bat'npm install -g grunt'
bat'grunt build-win'
bat'cd app/dist && tar -cf millix-win-x64.zip millix-win-x64'
withCredentials([
sshUserPrivateKey(credentialsId: "jenkins", keyFileVariable: 'keyfile_jenkins'),
string(credentialsId: "jenkins_host", variable: 'jenkins_host'),
sshUserPrivateKey(credentialsId: "info", keyFileVariable: 'keyfile_info'),
string(credentialsId: "info_host_10", variable: 'info_host_10'),
string(credentialsId: "info_host_11", variable: 'info_host_11')
]){
sh('scp -i ${keyfile_info} -oProxyCommand="ssh -i ${keyfile_jenkins} -W %h:%p millix_jenkins_s@${jenkins_host}" ${WORKSPACE}/app/dist/millix-win-x64.zip info@${info_host_10}:${DEST}')
sh('scp -i ${keyfile_info} -oProxyCommand="ssh -i ${keyfile_jenkins} -W %h:%p millix_jenkins_s@${jenkins_host}" ${WORKSPACE}/app/dist/millix-win-x64.zip info@${info_host_11}:${DEST}')
}
deleteDir()
}
}
}
stage('build on linux'){
when {
anyOf {
branch 'master'
}
}
agent {
label 'linux'
}
steps {
echo 'hello from linux'
script{
sh('git submodule init')
sh('git submodule update')
sh('npm install')
sh('npm install -g grunt')
sh('grunt build-linux')
sh('cd ${WORKSPACE}/app/dist/ && zip -r millix-linux-x64.zip millix-linux-x64/')
withCredentials([
sshUserPrivateKey(credentialsId: "jenkins", keyFileVariable: 'keyfile_jenkins'),
string(credentialsId: "jenkins_host", variable: 'jenkins_host'),
sshUserPrivateKey(credentialsId: "info", keyFileVariable: 'keyfile_info'),
string(credentialsId: "info_host_10", variable: 'info_host_10'),
string(credentialsId: "info_host_11", variable: 'info_host_11')
]){
sh('scp -i ${keyfile_info} -oProxyCommand="ssh -i ${keyfile_jenkins} -W %h:%p millix_jenkins_s@${jenkins_host}" ${WORKSPACE}/app/dist/millix-linux-x64.zip info@${info_host_10}:${DEST}')
sh('scp -i ${keyfile_info} -oProxyCommand="ssh -i ${keyfile_jenkins} -W %h:%p millix_jenkins_s@${jenkins_host}" ${WORKSPACE}/app/dist/millix-linux-x64.zip info@${info_host_11}:${DEST}')
}
deleteDir()
}
}
}
}
}
}
}