文章目录[隐藏]
系列汇总
这是一个系列文章,大大小小到今天惊然发现竟然已经累计二十篇了,也就不得不做一个小汇总。回想当初写第一篇文章的时候,就已经决心事无巨细,一应认真的走下来,回头遮望,看着皇皇这么多文章,一股强烈的成就感就此油然而生,于是便有了这些汇总整理。在这个过程当中,好像也帮助过不少的人,这是让我尤其开心的事情,同时也结识了一些志同道合的朋友,再没有比这更让人觉得愉悦的事情啦!也希望以后写出更多类似的系列文章。
文章汇总地址如右:Jenkins入门教程。
如果相中哪个,点击进去便是。希望正在读这段话的你能够在这个小系列中获得自信以及喜悦!
之前配置项都是基于单分支的构建,很多时候,我们更需要配置一个多分支的场景以应对更为多元的工作场景。
比如,我希望项目的测试环境以及预发环境都是推送代码之后自动构建的,这个时候,就可以在Jenkins中创建一个多分支pipeline项目,来满足如上场景。
首先创建一个新的项目,风格选择多分支pipeline,然后进行简单配置:
然后在项目根目录创建Jenkinsfile文件:
pipeline {
agent any
environment {
remote_dir = "/opt/hello"
}
triggers{
gitlab( triggerOnPush: true,
triggerOnMergeRequest: true,
branchFilterType: 'All',
secretToken: "${env.git_token}")
}
options {
buildDiscarder(logRotator(numToKeepStr: '10'))
disableConcurrentBuilds()
timeout(time: 10, unit: 'MINUTES')
timestamps()
}
stages {
stage('部署到测试环境'){
when {
branch 'test'
}
steps{
sh '''
rsync -avz --progress -e 'ssh -p 22' --exclude='Jenkinsfile' --exclude='.git' --delete ${WORKSPACE}/ root@192.168.3.68:$remote_dir
'''
}
}
stage('部署到线上环境') {
when {
branch 'master'
}
steps {
sh '''
rsync -avz --progress -e 'ssh -p 22' --exclude='Jenkinsfile' --exclude='.git' --delete ${WORKSPACE}/ root@192.168.3.61:$remote_dir
'''
}
}
stage('delete') {
steps {
echo '清理工作目录'
cleanWs()
}
}
}
post {
success {
sh "echo 成功了"
}
failure {
sh "echo 失败了"
}
}
}
配置了自动构建,然后使用when参数将不同分支代码分发到不同的部署环境中去,当我们的日常开发工作已经形成规范,那么这种多分支构建是非常方便的,开发者可以随便新建分支开发,合并到test并push就会触发测试环境的构建,同理亦然。
当我们把Jenkinsfile推上去,然后又创建了test分支,这里手动点击检索,两个分支就拉下来了,然后配置也会落位到两个分支中去,现在可以点开test分支配置看一眼:
!
这里可以看到Jenkins已经自动将test配置落位到对应环境中了,以便于我们推送代码之后自动构建。
当然了,如果有更加复杂的需求情况,可以发散自己的思维,结合前边的Jenkinsfile语法,配置出更加丰富的功能出来。

扫码订阅本站,第一时间获得更新
微信扫描二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~