pipeline { agent any stages { stage('#1 Fetch App') { steps { echo '#1 Fetch App' sh 'rm -r *' git credentialsId: 'git-tbs093a', url: 'git@github.com:TBS093A/curriculum_vitae.git' sh 'ls -la' } } stage('#2 Deploy to node (npm node)') { steps { echo '#2 Deploy to node (npm node)' sshPublisher( publishers: [ sshPublisherDesc( configName: 'aws - kamil-zuk-cv.tk - 13.48.201.185', transfers: [ sshTransfer( cleanRemote: false, excludes: '', execCommand: 'ls -la', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: './docker-compose/volumes/jenkins-npm-node/kamil-zuk-cv.tk', remoteDirectorySDF: false, removePrefix: '', sourceFiles: './*' ) ], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false ) ] ) echo 'Deploy on node success' } } stage('#3 Build App (npm node)') { steps { echo '#2 Build App (npm node)' withCredentials([sshUserPrivateKey(credentialsId: 'cv-kamil-zuk', keyFileVariable: 'keyfile')]) { script { sh 'scp -i ${keyfile} -r ./ ubuntu@13.48.201.185:/home/ubuntu/docker-compose/volumes/jenkins-npm-node/kamil-zuk-cv.tk ' sh 'ssh -i ${keyfile} -t "cd /home/ubuntu/docker-compose/volumes/jenkins-npm-node/kamil-zuk-cv.tk ; npm install ; npm gatsby build"' } } } } stage('#3 Deploy App') { steps { echo '#3 Deploy App' sshPublisher( publishers: [ sshPublisherDesc( configName: 'aws - kamil-zuk-cv.tk - 13.48.201.185', transfers: [ sshTransfer( cleanRemote: false, excludes: '', execCommand: 'ls -la', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: './docker-compose/volumes/https-nginx-static/kamil-zuk-cv.tk', remoteDirectorySDF: false, removePrefix: '', sourceFiles: './public/*' ) ], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false ) ] ) echo 'Deploy Success' } } } }