133 lines
6.6 KiB
Groovy
133 lines
6.6 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
options {
|
|
buildDiscarder(logRotator(numToKeepStr: '10', artifactNumToKeepStr: '10'))
|
|
}
|
|
|
|
stages {
|
|
stage ('PreBuild Steps (Master)') {
|
|
when {
|
|
expression {
|
|
return env.GIT_BRANCH == "master"
|
|
}
|
|
}
|
|
steps {
|
|
echo "Creo version tag su Git"
|
|
bat 'build\\create_build_tag.bat'
|
|
}
|
|
}
|
|
stage('Maven Build') {
|
|
steps {
|
|
echo "${WORKSPACE}"
|
|
withMaven(jdk: 'JDK 17.0.6 x64', traceability: true, maven: 'Maven 3.9.5') {
|
|
bat(script: 'mvn clean install -t toolchains-jenkins.xml', returnStdout: true)
|
|
archiveArtifacts(artifacts: 'ems-engine/target/*.war*', onlyIfSuccessful: true)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
stage('Publish Develop') {
|
|
when {
|
|
expression {
|
|
return env.GIT_BRANCH == "develop"
|
|
}
|
|
}
|
|
parallel {
|
|
stage('Tomcat update') {
|
|
stages {
|
|
stage('Update Tomcat 1') {
|
|
steps {
|
|
echo "Updating Tomcat9 from ${WORKSPACE}"
|
|
powershell returnStdout: true, script: "build\\update_tomcat.ps1 -serviceName \"Tomcat9\" -httpPort \"8081\" -updatedArtifactPath \"${WORKSPACE}\\ems-engine\\target\\ems-api.war\""
|
|
}
|
|
}
|
|
stage('Update Tomcat 2') {
|
|
steps {
|
|
echo "Updating Tomcat9 from ${WORKSPACE}"
|
|
powershell returnStdout: true, script: "build\\update_tomcat.ps1 -serviceName \"Tomcat9Backup\" -httpPort \"8082\" -updatedArtifactPath \"${WORKSPACE}\\ems-engine\\target\\ems-api.war\""
|
|
bat 'curl -k https://devservices.studioml.it/ems-api/updateWMSApp'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Publish over FTP') {
|
|
steps {
|
|
echo "Publish over FTP"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Publish Master') {
|
|
when {
|
|
expression {
|
|
return env.GIT_BRANCH == "master"
|
|
}
|
|
}
|
|
parallel {
|
|
stage('Tomcat update') {
|
|
stages {
|
|
stage('Update Tomcat 1') {
|
|
steps {
|
|
echo "Updating Tomcat9 from ${WORKSPACE}"
|
|
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Tomcat Server (192.168.3.16)', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /usr/bin/systemctl stop tomcat9
|
|
rm -R tomcat9/webapps/ems-api
|
|
sudo /usr/bin/systemctl start tomcat9
|
|
|
|
/home/studioml/./wait_tomcat_startup.sh 8081''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/tomcat9/webapps', remoteDirectorySDF: false, removePrefix: 'ems-engine/target/', sourceFiles: 'ems-engine/target/*.war*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
|
|
}
|
|
}
|
|
stage('Update Tomcat 2') {
|
|
steps {
|
|
echo "Updating Tomcat9 from ${WORKSPACE}"
|
|
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Tomcat Server (192.168.3.16)', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /usr/bin/systemctl stop tomcat9backup
|
|
rm -R tomcat9backup/webapps/ems-api
|
|
sudo /usr/bin/systemctl start tomcat9backup
|
|
|
|
/home/studioml/./wait_tomcat_startup.sh 8082
|
|
|
|
sleep 10''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/tomcat9backup/webapps', remoteDirectorySDF: false, removePrefix: 'ems-engine/target/', sourceFiles: 'ems-engine/target/*.war*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
|
|
bat 'curl -k https://services.studioml.it/ems-api/updateWMSApp'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Publish over FTP') {
|
|
steps {
|
|
ftpPublisher alwaysPublishFromMaster: false,
|
|
continueOnError: false,
|
|
failOnError: false,
|
|
masterNodeName: '',
|
|
paramPublish: null,
|
|
publishers: [[configName: 'OVH Linux Web Server (51.38.112.23)',
|
|
transfers: [[asciiMode: false,
|
|
cleanRemote: false,
|
|
excludes: '',
|
|
flatten: false,
|
|
makeEmptyDirs: false,
|
|
noDefaultExcludes: false,
|
|
patternSeparator: '[, ]+',
|
|
remoteDirectory: '/download/Aggiornamenti',
|
|
remoteDirectorySDF: false,
|
|
removePrefix: 'ems-engine/target/',
|
|
sourceFiles: 'ems-engine/target/*.war*']],
|
|
usePromotionTimestamp: false,
|
|
useWorkspaceInPromotion: false,
|
|
verbose: true]]
|
|
}
|
|
}
|
|
|
|
stage ('Publish on Azure') {
|
|
steps {
|
|
azureUpload fileShareName: 'storage-ci', filesPath: 'ems-engine/target/*.war*', removePrefixPath: 'ems-engine/target/', storageCredentialId: '83a86793-c1d6-4776-b20f-1ff652a57fee', storageType: 'filestorage', uploadArtifactsOnlyIfSuccessful: true, verbose: true, virtualPath: 'ems-api'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
} |