61 lines
2.7 KiB
Groovy
61 lines
2.7 KiB
Groovy
#!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)
|
|
])
|
|
}
|
|
}
|
|
}
|
|
}
|