-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile
57 lines (54 loc) · 1.88 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
def remote = [:]
remote.name = "devserver"
remote.host = "devserver.NeverStopGaming.net"
remote.allowAnyHosts = true
pipeline {
agent any
tools {
jdk 'jdk-16'
}
stages {
stage("Clean") {
steps {
sh "chmod +x ./gradlew";
sh "./gradlew clean";
}
}
stage("Build") {
steps {
withCredentials([usernamePassword(credentialsId: 'nexus', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
sh "./gradlew build --refresh-dependencies -DpublishPassword=$PASSWORD -DpublishName=$USERNAME"
}
}
}
stage("Publish") {
steps {
withCredentials([usernamePassword(credentialsId: 'nexus', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
sh "./gradlew publish -DpublishPassword=$PASSWORD -DpublishName=$USERNAME"
}
}
}
stage("Build Shadow Jar") {
steps {
sh "./gradlew shadowJar"
}
post {
success {
archiveArtifacts artifacts: 'build/libs/*.jar', fingerprint: true
}
}
}
stage("SSH") {
steps {
script {
withCredentials([usernamePassword(credentialsId: "devserver", passwordVariable: 'password', usernameVariable: 'userName')]) {
remote.user = userName
remote.password = password
}
}
sshPut remote: remote, from: 'build/libs/ProxySystem-1.0.jar', into: "/home/cloud/templates/Proxy/plugins/"
sshCommand remote: remote, command: "screen -S SimpleCloud -X stuff 'leave\nshutdowngroup Proxy\n'"
}
}
}
}