87 lines
2.7 KiB
Groovy
87 lines
2.7 KiB
Groovy
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 Build App (npm node)') {
|
|
steps {
|
|
echo '#2 Build App (npm node)'
|
|
|
|
withCredentials([sshUserPrivateKey(credentialsId: 'cv-kamil-zuk', keyFileVariable: 'PRIV_KEY')]) {
|
|
script {
|
|
echo "##################################"
|
|
echo "### transfer files on npm node ###"
|
|
echo "##################################"
|
|
sh '''
|
|
scp -v -o StrictHostKeyChecking=no -i $PRIV_KEY -r ./* ubuntu@172.31.41.210:/home/ubuntu/docker-compose/volumes/jenkins_node_00_npm/
|
|
'''
|
|
echo '################################'
|
|
echo '### run building on npm node ###'
|
|
echo '################################'
|
|
sh '''
|
|
ssh -v -o StrictHostKeyChecking=no -i $PRIV_KEY -tt ubuntu@13.48.201.185 "cd /home/ubuntu/docker-compose/volumes/jenkins_node_00_npm/ ; docker-compose up jenkins_node_00_npm"
|
|
'''
|
|
echo '########################################################'
|
|
echo '### transfer files from npm node to jenkins pipeline ###'
|
|
echo '########################################################'
|
|
sh '''
|
|
scp -v -o StrictHostKeyChecking=no -i $PRIV_KEY -r ubuntu@13.48.201.185:/home/ubuntu/docker-compose/volumes/jenkins_node_00_npm/public ./public
|
|
'''
|
|
echo '############################################'
|
|
echo '### remove all build files from npm node ###'
|
|
echo '############################################'
|
|
sh '''
|
|
ssh -v -o StrictHostKeyChecking=no -i $PRIV_KEY -tt ubuntu@13.48.201.185 "cd /home/ubuntu/docker-compose/volumes/jenkins_node_00_npm/ ; rm -r *"
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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'
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|