jenkins之Multibranch Pipeline类型job

本文介绍如何使用Gitlab Webhook与Jenkins的MultibranchPipeline类型job结合,实现代码提交后的自动构建。此外,还介绍了如何通过设置使Jenkins能够自动删除已删除的Git分支对应的job。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Multibranch Pipeline类型的job好处就是可以自动扫描git工程所有分支,并创建对应的job(前提是分支根目录中包含有Jenkinsfile文件。

可以通过Scan Multibranch Pipeline Triggers 来设置每隔多长时间扫描一下各分支,如有提交则构建。

优化:上面的触发条件总感觉很多时候比较浪费系统资源,也代理延时(比如没1小时轮训的话可能会延时1个小时才构建),所以后面直接用的gitlab的webhook来实现当有提交自动触发该Multibranch Pipeline JOB进行扫描并构建。

步骤:

1.job配置



2.gitlab对应git库设置WEBHOOK



另外,当git工程的分支删除的话实现自动删除该job,在job中设置如下:


保持为空即可。


### Jenkins Job 类型及其分类 #### 自由风格项目(Freestyle Project) 自由风格项目是最基础也是最灵活的一种Job类型。通过这种类型Job可以执行一系列构建命令,配置环境变量以及定义触发器来启动其他Jobs等操作[^1]。 ```groovy pipeline { agent any stages { stage('Example Build') { steps { echo 'This is an example freestyle project.' } } } } ``` #### 流水线(Pipeline as Code) 流水线是一种声明式的脚本化方式,在源码仓库中以代码形式管理CI/CD流程。这种方式不仅支持复杂的多阶段任务编排还便于版本控制和团队协作[^2]。 ```groovy pipeline { agent { label 'docker' } environment { PATH = "/usr/local/bin:${env.PATH}" } stages { stage('Build') { steps { sh './gradlew build' } } stage('Test') { parallel { stage('Unit Tests') { steps { sh './gradlew test' } } stage('Integration Tests') { steps { sh './gradlew integrationTest' } } } } stage('Deploy') { when { branch 'main' } steps { script { deployToProduction() } } } } } ``` #### 多分支管道(Multibranch Pipeline) 当面对多个特性分支时,多分支管道能够自动发现并处理Git或其他SCM中的不同分支上的变化。对于每一个新创建的分支都会自动生成相应的子Job来进行持续集成测试等工作流[^3]。 ```groovy multibranchPipelineJob('example-multibranch-pipeline') { factory { workflowBranchProjectFactory { scriptPath('Jenkinsfile') } } } ``` #### 组织级管道(Organization Folder) 组织级管道允许在一个单独的位置下管理和展示来自特定GitHub/GitLab组织下的所有项目的Pipelines情况。这有助于简化大型企业内部众多微服务架构应用之间的协调工作[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值