iot-server/Jenkinsfile

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)
])
}
}
}
}