#!groovy pipeline { agent any stages { stage('Build') { steps { sh 'mvn -B -DskipTests clean package' } } stage('Test') { steps { echo 'Testing..' } } stage('Deploy') { steps { echo 'Deploying....' sshPublisher(publishers: [sshPublisherDesc( configName: 'bnhz_test', transfers: [ sshTransfer(cleanRemote: false, excludes: '', execCommand: ''' JAR_NAME="bnhz-admin.jar"; PID=$(ps aux | grep "$JAR_NAME" | grep -v grep | awk \\'{print $2}\\') if [ -n "$PID" ]; then echo "Killing process $PID" sudo kill $PID sleep 5 if ps -p $PID > /dev/null; then echo "Process $PID did not terminate, force killing" sudo kill -9 $PID && echo "Process $PID has been force killed" else echo "Process $PID terminated gracefully" fi else echo "No process found related to $JAR_NAME" fi cd app/service source /etc/profile ./start.sh echo $? ''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/app/service', remoteDirectorySDF: false, removePrefix: 'bnhz-admin/target', sourceFiles: 'bnhz-admin/target/bnhz-admin.jar')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: true) ]) } } } }