pipeline { agent any tools { maven 'Maven-3.6.0' jdk 'OpenJdk-11.0.4' } environment { JAVA_HOME = '/opt/jdks/jdk-11.0.2' } stages { stage('Configuration') { steps { dir('minager-properties') { git url:'https://gitea.takiguchi.ovh/Minager/minager-properties.git', branch: 'master', credentialsId: 'a6494064-8130-42fd-9d3d-e7734518c79e' } script { sh 'cp ./minager-properties/application-prod.yml ./src/main/resources/application.yml' } } } stage('Angular build') { steps { script { sh ''' echo "Construction de l'application Angular..." cd $WORKSPACE/src/main/ts && npm install && ng build --configuration=production && cd - echo "Application générée avec succès." ''' } } } stage('SpringBoot build') { steps { sh 'mvn clean package' } } stage('Publish and restart') { steps { script { sh 'mv target/minager*.jar target/minager.jar' } sshPublisher( publishers: [ sshPublisherDesc( configName: 'DebianServer [minager]', transfers: [ sshTransfer( cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: 'target/', sourceFiles: 'target/minager.jar' ), sshTransfer( cleanRemote: false, excludes: '', execCommand: """ mv /home/minecraft/minager.jar /home/minecraft/minager/minager.jar chmod 700 /home/minecraft/minager/minager.jar sudo service minager restart """, execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '' ) ], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false ) ] ) } } } }