-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJenkinsfile
More file actions
66 lines (54 loc) · 2.11 KB
/
Jenkinsfile
File metadata and controls
66 lines (54 loc) · 2.11 KB
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
def remote = [:]
pipeline {
agent any
parameters {
string(name: 'sshHost', description: 'SSH Host name', defaultValue: 'localhost')
string(name: 'sshPort', description: 'SSH port', defaultValue: '10022')
string(name: 'sshKnownHosts', description: 'SSH Known Host File Location', defaultValue: '/home/axway/.ssh/known_hosts')
}
stages {
stage('Setup') {
steps {
withCredentials([file(credentialsId: 'runnersenv', variable: 'env')]) {
sh '''
cp $env runners.env
'''
}
}
}
stage('Build project') { // for display purposes
steps {
withMaven(maven: 'apache-maven-3.6.3', jdk: 'jdk8') {
sh 'mvn -Dmaven.test.skip=true clean package'
}
}
}
stage('Upload and start the Application') { // for display purposes
steps {
script {
sh "printenv"
}
withCredentials([usernamePassword(credentialsId: 'axwaydmz', usernameVariable: 'username', passwordVariable: 'password')]) {
script {
remote.name= sshHost
remote.host = sshHost
remote.user = username
remote.password = password
remote.knownHosts = sshKnownHosts
remote.port = 10022
sshPut remote: remote, from: 'target/runners.jar', into: '.'
sshPut remote: remote, from: 'runners.env', into: '.'
sshCommand remote: remote, command: 'pkill -f \'java -jar\'', failOnError:false
sshCommand remote: remote, command: 'pkill -f \'java -jar\'', failOnError:false
sshCommand remote: remote, command: "sh run.sh"
}
}
}
}
}
post {
cleanup {
deleteDir()
}
}
}