阅读量:2
CentOS上Jenkins配置多分支管道步骤
1. 准备工作
- 安装Jenkins:在CentOS上通过
yum或官方仓库安装Jenkins(参考Jenkins官方文档),并启动服务(systemctl start jenkins、systemctl enable jenkins)。 - 安装必要插件:进入Jenkins管理界面(
http://<服务器IP>:8080)→ Manage Jenkins → Manage Plugins,安装以下插件:- Multibranch Pipeline(核心插件,支持多分支管理);
- Git Plugin(用于Git仓库集成,若使用其他SCM如Bitbucket需额外安装对应插件)。
2. 创建多分支管道项目
- 登录Jenkins,点击首页New Item;
- 输入项目名称(如
my-multibranch-pipeline),选择Multibranch Pipeline,点击OK。
3. 配置源码管理
在项目配置页面,找到Branch Sources部分,添加代码源(以Git为例):
- Add source → 选择Git;
- Repository URL:输入Git仓库地址(如
https://gitee.com/username/repo.git或git@github.com:username/repo.git); - Credentials:若仓库需要认证,点击Add添加凭据(选择“Username with password”或“SSH Username with private key”);
- Behaviors:配置分支发现规则(如“Discover all branches”“Filter by regex”(如
^(feature|develop|release)/)、“Exclude branches that match regex”),默认发现所有包含Jenkinsfile的分支。
4. 配置构建触发器(可选但推荐)
为实现自动化构建,可配置Scan Multibranch Pipeline Triggers:
- 勾选Periodically if not otherwise run,设置扫描间隔(如
@daily每天扫描一次,或H/5 * * * *每5分钟扫描一次); - 若使用Webhook(推荐),需在代码仓库(如GitHub、GitLab)中配置Webhook,指向Jenkins服务器的
/github-webhook/(GitHub)或/gitlab-webhook/(GitLab)路径,当有推送(push)或拉取请求(PR)时自动触发扫描。
5. 编写Jenkinsfile
在代码仓库的根目录下创建Jenkinsfile(文件名需与项目配置中的Script Path一致,默认为Jenkinsfile),定义流水线逻辑。示例如下:
pipeline {
agent any // 使用任意可用节点
environment {
// 定义环境变量
ARTIFACT_DIR = "target"
VERSION = "1.0.${env.BUILD_NUMBER}"
}
stages {
stage('Checkout') {
steps {
echo "Checking out code from branch: ${env.BRANCH_NAME}"
checkout scm // 检出当前分支代码
}
}
stage('Build') {
steps {
echo "Building application..."
sh 'mvn clean package -DskipTests' // 示例:Maven构建
}
}
stage('Test') {
when {
// 仅在非feature分支运行测试
expression { !env.BRANCH_NAME.startsWith('feature/') }
}
steps {
echo "Running unit tests..."
sh 'mvn test' // 运行单元测试
}
}
stage('Deploy') {
when {
// 仅在develop或release分支部署
anyOf {
expression { env.BRANCH_NAME == 'develop' }
expression { env.BRANCH_NAME == 'release' }
}
}
steps {
echo "Deploying to staging environment..."
sh 'scp ${ARTIFACT_DIR}/*.jar user@staging-server:/opt/app/' // 示例:部署到测试环境
}
}
}
post {
success {
echo "Pipeline succeeded for branch: ${env.BRANCH_NAME}"
}
failure {
echo "Pipeline failed for branch: ${env.BRANCH_NAME}"
// 可添加邮件通知等操作
}
}
}
说明:
agent any:使用任意Jenkins节点执行流水线;environment:定义全局环境变量;stages:定义流水线的各个阶段(如Checkout、Build、Test、Deploy);when:通过条件控制阶段执行(如仅在特定分支运行测试或部署);post:定义流水线结束后的操作(如成功/失败通知)。
6. 保存并触发扫描
- 点击Save保存项目配置;
- Jenkins会自动触发首次扫描,进入项目首页可查看扫描结果(如发现的分支及对应的构建状态);
- 若未自动触发,可手动点击Scan Repository Now进行扫描。
7. 验证多分支管道
- 推送代码到新分支:在Git仓库中创建新分支(如
feature/new-login),提交包含Jenkinsfile的代码; - 查看自动创建的Job:Jenkins会自动为新分支创建对应的流水线Job(如
my-multibranch-pipeline/feature-new-login); - 触发构建:推送代码或通过Webhook触发,进入对应Job页面查看构建日志,验证流水线执行结果。
常见问题排查
- 无法发现分支:检查Git仓库URL、凭据是否正确,以及分支发现规则是否匹配(如正则表达式是否正确);
- Jenkinsfile未找到:确认
Jenkinsfile位于仓库根目录,且文件名与配置一致; - Webhook未触发:检查Webhook URL是否正确(如
http://),以及Jenkins是否有网络访问权限。:8080/github-webhook/
以上就是关于“centos jenkins如何配置多分支管道”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm