Skip to content

Commit 387cce1

Browse files
Merge pull request #620 from awisniew90/jenkins-lftp
Update to use lftp
2 parents 33effec + 1201b2b commit 387cce1

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

ci/jenkins/release

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ pipeline {
77
}
88

99
stages {
10+
stage('Install lftp') {
11+
steps {
12+
sh "sudo apt-get update && sudo apt-get install -y lftp"
13+
}
14+
}
15+
1016
stage('Clone') {
1117
steps {
1218
dir('liberty-tools-eclipse') {
@@ -63,8 +69,8 @@ pipeline {
6369
).trim()
6470
echo "Checking ${LAST_COMMIT}"
6571
waitUntil {
66-
// NOTE: We are using curl rsther than sftp directly because curl will allow you to specify a password in one command.
67-
def rc = sh(script: "curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/ --user '$user:$password'", returnStatus:true)
72+
// NOTE: We are using lftp for SFTP operations as it provides a way to pass a username and password on one command.
73+
def rc = sh(script: """lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; cls /projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/; quit' sftp://rtpgsa.ibm.com""", returnStatus:true)
6874
if(rc != 0) {
6975
return(true)
7076
}
@@ -78,26 +84,26 @@ pipeline {
7884
echo "Using commit ${LAST_COMMIT}"
7985
}
8086

81-
// Make new dir in "incomming"
82-
sh "curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/incoming/ -Q \"-MKDIR /projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}\" --ftp-create-dirs --user '$user:$password'"
87+
// Make new dir in "incoming"
88+
sh """lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; mkdir -p /projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}; quit' sftp://rtpgsa.ibm.com"""
8389

84-
// Upload jars to "incomming" dir
85-
sh "cd features && curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/ -T \"${FEATURE_JAR}\" --user '$user:$password'"
86-
sh "cd plugins && curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/ -T \"${LS_JAR}\" --user '$user:$password'"
87-
sh "cd plugins && curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/ -T \"${UI_JAR}\" --user '$user:$password'"
88-
sh "cd plugins && curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/ -T \"${PRODUCT_JAR}\" --user '$user:$password'"
90+
// Upload jars to "incoming" dir
91+
sh """cd features && lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; put ${FEATURE_JAR} -o /projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/${FEATURE_JAR}; quit' sftp://rtpgsa.ibm.com"""
92+
sh """cd plugins && lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; put ${LS_JAR} -o /projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/${LS_JAR}; quit' sftp://rtpgsa.ibm.com"""
93+
sh """cd plugins && lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; put ${UI_JAR} -o /projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/${UI_JAR}; quit' sftp://rtpgsa.ibm.com"""
94+
sh """cd plugins && lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; put ${PRODUCT_JAR} -o /projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/${PRODUCT_JAR}; quit' sftp://rtpgsa.ibm.com"""
8995

9096
// Upload "done" file
9197
sh "echo >> done"
92-
sh "curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/ -T \"done\" --user '$user:$password'"
98+
sh """lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; put done -o /projects/c/certsign/liberty_tools/incoming/${LAST_COMMIT}/done; quit' sftp://rtpgsa.ibm.com"""
9399
sh "rm -f done"
94100

95101
// Loop and wait for dir to appear in "signed"
96102
script {
97103
timeout(5) {
98104
waitUntil {
99105
println "Waiting for jars to be signed..."
100-
def rc = sh(script: "curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/ --user '$user:$password'", returnStatus:true)
106+
def rc = sh(script: """lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; cls /projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/; quit' sftp://rtpgsa.ibm.com""", returnStatus:true)
101107
if(rc == 0) {
102108
return(true)
103109
}
@@ -107,10 +113,10 @@ pipeline {
107113
}
108114

109115
// Download signed jars
110-
sh "cd features && curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/${FEATURE_JAR} -o ${FEATURE_JAR} --user '$user:$password'"
111-
sh "cd plugins && curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/${LS_JAR} -o ${LS_JAR} --user '$user:$password'"
112-
sh "cd plugins && curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/${UI_JAR} -o ${UI_JAR} --user '$user:$password'"
113-
sh "cd plugins && curl -k sftp://rtpgsa.ibm.com/projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/${PRODUCT_JAR} -o ${PRODUCT_JAR} --user '$user:$password'"
116+
sh """cd features && lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; set xfer:clobber on; get /projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/${FEATURE_JAR} -o ${FEATURE_JAR}; quit' sftp://rtpgsa.ibm.com"""
117+
sh """cd plugins && lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; set xfer:clobber on; get /projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/${LS_JAR} -o ${LS_JAR}; quit' sftp://rtpgsa.ibm.com"""
118+
sh """cd plugins && lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; set xfer:clobber on; get /projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/${UI_JAR} -o ${UI_JAR}; quit' sftp://rtpgsa.ibm.com"""
119+
sh """cd plugins && lftp -u '$user,$password' -e 'set sftp:auto-confirm yes; set ssl:verify-certificate no; set xfer:clobber on; get /projects/c/certsign/liberty_tools/signed/${LAST_COMMIT}/${PRODUCT_JAR} -o ${PRODUCT_JAR}; quit' sftp://rtpgsa.ibm.com"""
114120
}
115121
}
116122

0 commit comments

Comments
 (0)