curriculum.vitae/Jenkinsfile

77 lines
1.9 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',
variable: 'PRIV_KEY'
)
]
) {
script {
echo "$PRIV_KEY"
sh '''
ssh -i "$PRIV_KEY" -t ubuntu@172.31.41.210 "cd /home/ubuntu/docker-compose/volumes/jenkins_node_00_npm/ ; rm -r *"
scp -i "$PRIV_KEY" -r ./ ubuntu@172.31.41.210:/home/ubuntu/docker-compose/volumes/jenkins_node_00_npm/
ssh -i "$PRIV_KEY" -t ubuntu@13.48.201.185 "cd /home/ubuntu/docker-compose/volumes/jenkins_node_00_npm/ ; docker-compose up -d jenkins_node_00_npm"
scp -i "$PRIV_KEY" -r ubuntu@13.48.201.185:/home/ubuntu/docker-compose/volumes/jenkins_node_00_npm/public ./public
'''
}
}
}
}
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'
}
}
}
}