Index: Jenkinsfile =================================================================== diff -u -r1b6f7c08a2866cea63c9bb01aa1937b637232171 -ra753f50605bbdb82a096e036a5f72543ef2f8aa5 --- Jenkinsfile (.../Jenkinsfile) (revision 1b6f7c08a2866cea63c9bb01aa1937b637232171) +++ Jenkinsfile (.../Jenkinsfile) (revision a753f50605bbdb82a096e036a5f72543ef2f8aa5) @@ -3,6 +3,7 @@ environment { //BRANCH_NAME = '' ENVIRONMENT = 'Staging' + PROJECTKEY = 'PUL' } agent { @@ -85,12 +86,101 @@ } } - } + } //End of Checkout Stage + stage ("BUILD") { + steps{ + + timestamps { + + script { + + if (ENVIRONMENT.equals ("Staging")) { + + wrap([$class: 'MaskPasswordsBuildWrapper']) { + + def buildEnv= [QA_US: "-PQA -PUS-QA", QA_UAP: "-PQA -PUAP-QA", PROD_US: "-PPROD -PUS-PROD", PROD_UAP: "-PPROD -PUAP-PROD"] + //def buildEnv= [QA_US: "-PQA -PUS-QA"] + + buildEnv.each{ + + targetEnv = it.key - + targetBuildEnv = it.value + + stage ( "${targetEnv}_Build" ) { + + withEnv(["targetBuildEnv=${targetBuildEnv}","BUILD_VERSION_NUM=${BUILD_VERSION_NUM}"]) { + + sh ''' + + /usr/local/apache-maven-3.3.9/bin/mvn versions:set -DnewVersion=${BUILD_VERSION_NUM} + docker run -i --rm --name pulsebuilder -v "$(pwd)":/home/pulsebuilder/PulseUI -w /home/pulsebuilder/PulseUI gpcpulse/pulse:pulsebuilder_latest mvn clean install $targetBuildEnv -X -Ddeployarchive=true -Ddeploy.server.ip=10.5.128.163 -Ddeploy.server.user=$BUILD01_USER -Ddeploy.server.pass=$BUILD01_CRED -Dmaven.test.skip -Dmaven.exec.skip=false + #docker run -i --rm --name pulsebuilder -v "$(pwd)":/home/pulsebuilder/PulseUI -w /home/pulsebuilder/PulseUI gpcpulse/pulse:pulsebuilder_1.0.0 mvn clean install $targetBuildEnv -X #-Dmaven.test.skip -Dmaven.exec.skip=false + whoami + sudo rm -rf src/main/webapp/app/node_modules + sudo rm -rf target/ + + ''' + } + + } + } + + } // End of wrap class + + } else if (ENVIRONMENT.equals ("Production")) { + + print "Skippping BUILD Stage" + } + } //End of Scripts + } + } + } //End of Build Scripts + + stage ("Archive") { + + steps{ + + timestamps { + + script { + + if (ENVIRONMENT.equals ("Staging")) { + + wrap([$class: 'MaskPasswordsBuildWrapper']) { + + def buildServer= [BUILD01: "AUAPGPDARCAPP01"] + + buildServer.each{ + + targetEnv = it.key + targetServer = it.value + + stage ( "${targetEnv}_Archive" ) { + + withEnv(["targetServer=${targetServer}","BUILD_VERSION_NUM=${BUILD_VERSION_NUM}","BUILD_VERSIONS_DIR=${BUILD_VERSIONS_DIR}"]) { + + sh ''' + sshpass -p $BUILD01_CRED ssh -T -o StrictHostKeyChecking=no maint@AUAPGPDARCAPP01.genpt.net "cd /home/Pulse/PulseUI && BUILD_VERSIONS_NUM="$(echo ${BUILD_VERSION_NUM} | head -1 | tr -d '\040\011\012\015' | tr -d '[:space:]')" && BUILD_VERSIONS_DIR=$(echo ${BUILD_VERSIONS_DIR}) && mkdir "$(echo $BUILD_VERSIONS_DIR)" && mv $(echo $BUILD_VERSIONS_DIR)-* $(echo $BUILD_VERSIONS_DIR)/" + ''' + } + } + } + } + + } else if (ENVIRONMENT.equals ("Production")) { + + print "Skipping Archive Stage" + } + } + } + } + } + + } //End of Stages } //End of Pipeline \ No newline at end of file