Jenkinsfile的多分支流水线构建配置

本文详细介绍了如何使用Jenkinsfile进行多分支流水线构建配置,包括简单stage声明、Pipeline DSL的使用,如agent、options、stages和post节点的设置,以实现构建流程的清晰管理和故障排查。

我之前的博客《Jenkins 多分支构建》及《Jenkins 多分支构建中的邮件配置》探索了在多分支构建中Jenkinsfile的配置。然而在我的配置中,根节点为node,但里面却没有使用Jenkinsfile的DSL去声明构建的流程,而是通过groovy代码去实现整个的构建逻辑,用try-catch处理构建失败的问题,看起来很混乱。并且,整个构建本来有拉取并检出代码、构建、发布这几个阶段,但是在Jenkinsfile里却没有体现出来,所以当发现构建较慢时也不利于定位问题所在的步骤。本篇文章将完全处理这些问题。

简单的stage声明

我们还是以之前的代码为例,这里为了专注于具体的配置,我简化一下构建命令及省略掉发邮件的代码,如下:

node {
    checkout scm
    echo "current branch: $BRANCH_NAME"
    try {
        if (BRANCH_NAME.startsWith("release/")) {
            sh "./gradlew clean -Ppublish assemble"
        } else {
            sh "./gradlew clean assembleTest"
        }
        currentBuild.result = 'SUCCESS'
    } catch (any) {
        currentBuild.result = 'FAILURE'
        throw any
    } finally {
        if (currentBuild.result == 'FAILURE') {
            // send e-mail
        }
    }
}

如果说,要把这个流程划分为多个阶段,那还是挺简单的,在node下增加stage节点就可以了,如下:

node {
    stage('Checkout') {
        checkout scm
    }
    stage('Build') {
        echo "current branch: $BRANCH_NAME"
### 配置Jenkins构建多分支流水线用于Maven项目CI #### 创建新多分支流水线作业 为了创建一个多分支流水线来处理不同分支上的变更,需登录至Jenkins界面并点击新建任务。选择“Multibranch Pipeline”,输入合适的名称后确认。 #### 设置源码管理仓库地址 进入刚建立的任务页面,在配置选项里指定Git仓库URL以及凭证信息[^1]。这一步骤确保了Jenkins可以从版本控制系统获取最新的代码变动情况。 #### 编写`Jenkinsfile` 对于Maven项目而言,应在根目录下放置名为`Jenkinsfile`的文件定义具体的构建逻辑: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git branch: 'main', url: '<your-repo-url>' } } stage('Build with Maven') { steps { sh "mvn clean package" } } stage('Test'){ steps{ sh "mvn test" } } // 可选阶段:部署或其他操作... } post { always { junit '**/target/surefire-reports/*.xml' archiveArtifacts artifacts: '**/target/*.jar,**/pom.xml', onlyIfSuccessful: false } } } ``` 此脚本会依次执行清理、打包和测试命令;最后无论成功与否都将收集单元测试报告并存档生成的艺术品[^4]。 #### 自动发现新的分支或Pull Request 一旦上述设置完成,每当有新的分支被推送到远程库或是发起pull request时,Jenkins将会自动检测到变化,并触发相应的构建流程[^2]。 #### 安装必要的插件和支持工具 确保已安装如下组件以支持整个工作流顺利运作: - Git Plugin 和 SSH Agent Plugin 用来克隆代码库及通过SSH连接目标机器。 - Maven Integration plugin 方便地调用Maven生命周期中的各个阶段[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值