1岛琼、Jenkins創(chuàng)建
2竖慧、itLab+Jenkins實現(xiàn)持續(xù)集成+自動化部署
3拍鲤、代碼傳輸rsync十性,免密登錄配置ssh密鑰
如果免密登錄不生效斤富,則按照如下設(shè)置接收文件服務(wù)器文件夾權(quán)限
cd /home
chmod 600 app/.ssh/authorized_keys
chmod 700 app/.ssh
chmod 755 app
Jenkinsfile文件代碼
pipeline {
agent any
stages {
stage('backup') {// 備份
when { environment name: 'deploy_env', value: 'publish' }
steps {
sh label: '備份上次發(fā)布dist',
script:
'''
pwd
rsync -avzr --delete ./dist ../open-his-backup
'''
}
}
stage('checkout') {//拉取新代碼
when { environment name: 'deploy_env', value: 'publish' }
steps {
git credentialsId: 'ssh_id', url: 'ssh://git@10.1.6.xx:2222/his/open-his.git'
}
}
stage('transfer') { //發(fā)布到服務(wù)器
when { environment name: 'deploy_env', value: 'publish' }
steps {
sh label: '發(fā)布到服務(wù)器',
script:
'''
pwd
rsync -avzr --delete ./dist app@10.1.6.xxx:/home/app/open-his
'''
}
}
stage("rollback") {
when { environment name: 'deploy_env', value: 'rollback' }
steps {
sh label: '回滾到上次發(fā)布',
script:
'''
pwd
rsync -avzr --delete ../open-his-backup/dist app@10.1.6.xxx:/home/app/open-his
'''
}
}
}
}
5罐柳、pipeline語法
6掌腰、jenkins發(fā)布和回滾
相關(guān)參考文件:
GitLab+Jenkins實現(xiàn)持續(xù)集成+自動化部署(很全)
https://www.cnblogs.com/yanjieli/p/10613212.html
讓Jenkins執(zhí)行GitHub上的pipeline腳本
https://blog.csdn.net/boling_cavalry/article/details/100857361