首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jenkins Job DSL在postBuildScripts shell中获取当前构建结果

Jenkins Job DSL是一种用于自动化构建和部署的工具,它允许开发人员使用代码来定义和管理Jenkins作业。在Jenkins Job DSL中,可以使用postBuildScripts shell来执行构建后的操作,包括获取当前构建结果。

postBuildScripts shell是Jenkins Job DSL中的一个步骤,它允许在构建完成后执行一些自定义的Shell脚本。通过在postBuildScripts shell中使用一些特定的环境变量,可以获取当前构建的结果。

要获取当前构建结果,可以使用Jenkins提供的环境变量BUILD_RESULT。该变量包含了当前构建的结果,可以是SUCCESS(成功)、UNSTABLE(不稳定)、FAILURE(失败)或ABORTED(中止)。

以下是一个示例的postBuildScripts shell脚本,用于获取当前构建结果并根据结果执行相应的操作:

代码语言:txt
复制
postBuildScripts {
    shell {
        // 获取当前构建结果
        def buildResult = env.BUILD_RESULT

        // 根据构建结果执行相应的操作
        if (buildResult == 'SUCCESS') {
            // 构建成功的操作
            echo '当前构建结果为成功'
            // 执行其他操作...
        } else if (buildResult == 'UNSTABLE') {
            // 构建不稳定的操作
            echo '当前构建结果为不稳定'
            // 执行其他操作...
        } else if (buildResult == 'FAILURE') {
            // 构建失败的操作
            echo '当前构建结果为失败'
            // 执行其他操作...
        } else if (buildResult == 'ABORTED') {
            // 构建中止的操作
            echo '当前构建结果为中止'
            // 执行其他操作...
        }
    }
}

在上述示例中,根据BUILD_RESULT的值,可以执行不同的操作来处理不同的构建结果。你可以根据实际需求,编写自己的postBuildScripts shell脚本来获取当前构建结果并执行相应的操作。

关于Jenkins Job DSL和postBuildScripts shell的更多信息,你可以参考腾讯云的产品文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用代码配置运行Jenkins实例?

目标 我想要达到的理想状态是能够构建一个Jenkins实例,该实例,其所有配置和作业定义都将进入声明性文件。...第二个项目用于与Jenkins DSL插件进行交互。目标是将作业,文件夹和视图作为代码存储groovy文件,因此只有我们Git存储库定义的内容才适用于Jenkins实例。...以下shell脚本可以作为启动构建阶段的有用资源。...这个插件甚至可以让您定义一个种子作业,它是一个获取DSL文件并应用更改以创建其他作业,视图以及更多功能的作业。 我们的情况下,以下jenkins.yaml文件用于提供配置。...种子作业从Github获取另一个项目,该项目包含一些基于DSL的对象来创建资源。 jenkins: systemMessage: "Jenkins As Code Concept."

2.4K10
  • 基于 jenkins 的 CICD 实践

    二、CD jenkins 详解 2.1 CD业务建模 在做工具实施之前,肯定会构想一下所有部署的业务是什么样的模式,让它变得很灵活,可以支持开发、测试等环境的构建和部署。...2.3 CD.jenkins 实战 Jenkins 实际使用我们分为以下五点: JOB-DSL Nested View Pipeline Slaves Groovy JOB-DSL ,单项目构建好模型后...Slaves 目前运行在 Docker容器 ,理想状态是Master 上不做构建(目前我们master上还有少量工程)。这样master上做升级和迁移会容易很多。...在前面介绍的 JOB-DSL 里给JOB配置权限,下面是个专门写个 Groovy 脚本给JOB配置权限。 如上图把这三个人加一个执行权限,到产品AA的Dev阶段的JOB配置权限。...hubot Jenkins ,跟它说把所有的job列表打出来,它就说这些是列表。 如果想看编译结果,就说show output for demo-a。

    4.4K62

    3天学会Jenkins_6_管道或流水线教程之Jenkinsfile示例

    转载注明出处 1 什么是Jenkins管道(流水线) 以下管道和流水线为同指一个概念。 Jenkins,管道(Pipeline)是一组事件或任务,它们按顺序相互链接。...Jenkins管道,每个任务或事件都至少对一个或多个事件具有某种依赖性。 ? 上图代表Jenkins的连续交付管道。它包含一组称为构建,部署,测试和发布的状态。...它还涉及以可靠和可重复的方式开发软件,以及通过测试和部署的多个阶段对构建的软件进行升级。 本节,你将学到: 什么是Jenkins管道? 什么是JenkinsFile?...你可以运行多个任务(job),甚至可以循环中使用管道 6 Jenkins管道相关概念 Jenkins 安装和运行的地方,它负责解析 job 脚本,处理任务,调度计算资源 其他常用概念和语法(以声明式方式...): Linux、BSD 和 Mac OS(类 Unix) 系统shell 命令, 对应于 Pipeline 的一个 sh 步骤(step) // Jenkinsfile (Declarative

    3.9K20

    2.Jenkins进阶之流水线pipeline语法入门学习

    与问题域相同的抽象层次对概念建模。 DSLJenkins 服务特有的一个语言,底层通过 Groovy 编程语言来实现。使用过程,可以很好的结合 Groovy。...Jenkins Job DSL Plugin 提供了丰富的API,我们可以通过这些API实现对 Jenkinis View、Job 等管理。...Tips: Jenkins 内置了 Groovy 的引擎,我们可以通过 Groovy 编程语言 DSL API 添加逻辑编程。...Jenkins 的 Web UI 界面输入脚本; 方式2、通过创建一个 Jenkinsfile 脚本文件(Groovy 语言结合 DSL 开发)放入项目源码库 (推荐 Jenkins 中直接从源代码控制.../tear-down.sh' } catchError: 捕获错误并将构建结果设置为失败 catchError { sh 'might fail' } unstable: 设置阶段结果为不稳定, 将一条消息打印到日志并将整个构建结果和阶段结果设置为不稳定

    17.4K20

    Jenkins Operator —— Jenkins Kubernetes 上正确的打开方式

    进阶篇:使用 传统的使用方法就是界面上点击创建 jenkins job,然后进行配置,最后再使用。...其背后的原理其实是借助 Jenkins Job DSL 和 Configuration As Code:也即将 job 通过 DSL 来进行描述(描述包括 Job 名称,配置,Pipeline 脚本等)...└── pipeline-file Seed Job 可以通过 jenkins 的配置文件添加如下内容来启用: apiVersion: jenkins.io/v1alpha2 kind:...scriptPath('cicd/pipelines/demo.groovy') } } } 上述的 job dsl 描述了一个有两个构建参数的 job...构建上述的 demo job 可查看构建日志: ? 可以看到上述构建输出和 pipeline 定义的是一致的。这些其实也就做到了一切皆代码。

    1.9K20

    Jenkins流水线搭建golang项目持续集成环境

    可扩展性: 支持扩展DSL和其他插件集成。 构建一个可扩展是Jenkins的核心价值,流水线可以通过ShareLibrary的方式来扩展。...token从gitlab获取个人设置中有Access Token一栏,创建一个token。...点击“立即构建”,根据输出结果排查问题后即可完成流水线工作,包含 拉取Gitlab版本,编辑代码,部署程序这3个主要步骤。...截图.png 2.4 典型问题解答 2.4.1 流水线配置的程序后台部署运行正常后即被关闭 问题现象: 普通的shell环境,nohup,并且& 某个程序后,会抛到后台执行,退出当前shell环境后...但是Jenkins的pipeline,通过nohup,且使用&之后,step结束后,执行的程序还是会退出,导致程序起不来。

    4.5K40

    『高级篇』docker之gitlab和jenkins-CICD流程(43)

    JenkinsJob配置里缺少 触发远程构建(例如,使用脚本) 选项的 ? 如图所示的功能没有出现在Job配置页面,这是由于权限问题导致的: ? 关闭防止跨站点请求伪造 ?...容器内试试看能git clone 不 ? 试试,立刻构建 ? ? 查看目录 ?...需要配置maven仓库地址,当前这个镜像nds国内不识别,容器内需要操作 echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null apt-get...如果jenkins容器化,等于容器里面还要装docker是不是很蛋疼。 使用pipline写脚本其实很简单本身就是流水线,比较负责命令建议使用shell脚本的方式,这是也方便维护。...最后在说一点,jenkins的pipline语法不复杂,参考我的写你可以可以完成自动化构建,push镜像,更新服务这块其实也没完全弄好,我准备继续好好研究下k8s,感觉k8s水太深,下次出专辑深啃一把

    2.7K20

    开源 CICD 工具 Jenkins 有哪些学习路径,看看这篇

    Pipeline和Freestyle的区别 Freestyle: 上游 / 下游Job调度,如 BuildJob ->TestJob -> DeployJob DSL Job里面调度多个子Job(利用...– Declarative 声明式(Pipeline plugin 2.5引入) – Scripted Pipeline 脚本式 如何创建基本的Pipeline – 直接在Jenkins Web...UI 网页界面输入脚本 – 通过创建一个Jenkinsfile可以检入项目的源代码管理库 最佳实践 – 通常推荐 Jenkins中直接从源代码控制(SCM)载入Jenkinsfile Pipeline...OK” 配置: Pipeline -> Script 文本输入框输入下列语句,点击 ”保存” 立即构建 pipeline { agent any stages { stage...命令行停止Jenkins; 先备份$JENKINS_HOME的config.xml; 用编辑器打开$JENKINS_HOME的config.xml; 将 true元素的true改为false; 将

    2.3K20

    「持续集成实践系列 」Jenkins 2.x 构建 CI 自动化流水线常见技巧 (二)

    [007S8ZIlgy1gfh5msjmu4j30ve0hi110.jpg] 在上一篇文章,我们介绍了Jenkins 2.x实现流水线的两种语法,以及实际工作该如何选择脚本式语法或声明式语法。...本篇,我们将聊一下,关于Jenkins流水线DSL语言所提供的用于控制流水线执行流程基本结构和一些常见技巧。 1....通常推荐的做法是,使用timeout对任何造成流水线暂停的步骤(如一个input步骤)进行封装,这样做的结果是,即使出现差错导致限定的时间内没有得到期望的输入,流水线也会继续执行。.../marker.txt' return (ret==0) } } 再举一个例子,假如我们要等待一个Docker容器运行起来,以便我们可以流水线通过REST API调用获取一些数据...的DSL,stash和unstash函数允许流水线的节点间和阶段间保存或获取文件。

    1.2K40

    「持续集成实践系列 」Jenkins 2.x 构建CI自动化流水线常见技巧(二)

    在上一篇文章,我们介绍了Jenkins 2.x实现流水线的两种语法,以及实际工作该如何选择脚本式语法或声明式语法。...本篇,我们将聊一下,关于Jenkins流水线DSL语言所提供的用于控制流水线执行流程基本结构和一些常见技巧。 1....通常推荐的做法是,使用timeout对任何造成流水线暂停的步骤(如一个input步骤)进行封装,这样做的结果是,即使出现差错导致限定的时间内没有得到期望的输入,流水线也会继续执行。.../marker.txt' return (ret==0) } } 再举一个例子,假如我们要等待一个Docker容器运行起来,以便我们可以流水线通过REST API调用获取一些数据...的DSL,stash和unstash函数允许流水线的节点间和阶段间保存或获取文件。

    1.3K20

    Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送

    以上配置大意为,如果收到构建请求,使用JSONPath表达式从JSON格式的请求体获取键为event_name的值,存储到名为event_name变量,然后取该变量值同正则表达式^push$匹配,如果匹配...,则触发Jenkins构建当前项目,否则不构建。...如下,可在Script输入框编写构建完成后需要执行的Shell命令(该插件会先根据填写的shell命令生成一个临时sh脚本,然后执行该脚本),例为钉钉推送命令,具体代码参见下文 ?...,请及时查阅" # 消息正文 # Jenkins Job构建日志地址 JENKINS_JOB_BUILD_LOG_URL="http://ops.dev.xxxx.com/view/testarch...token=0771826b93bbd566266bce34f5123ebb),这里的token值即为generic-webhook-trigger插件配置定义token值 2)勾选Push events

    2.5K40

    使用Gitlab和Gitlab CI做持续集成(理论篇)

    持续集成,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。 每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。...当下持续集成工具不胜枚举,开源的或商业的,可本地安装的或Sass的,如: 当前最最流行的,一骑绝尘的Jenkins 与Github紧密集成的Travis CI 有着持续集成DNA的ThoughtWorks...也支持更高级的Pipeline 使用Jenkinsfile和Pipeline插件,Jenkinsfile 使用Groovy DSL定义 Pipeline、Stage、Job的概念类似ThoughtWorks...GO的概念 一个pipeline包含一个或多个stage,stage是串行的 一个stage包含一个或多个jobjob是并行的 鉴于Gitlab CI与Gitlab集成的更友好,而且想尝试下...进行Build) Gitlab CI 拉取代码进行编译、质量分析(SonarQube ) SonarQube 将质量分析报告反馈到GitLab相应的commit(以Comment的形式) Gitlab将构建结果反馈给

    1.2K30

    详解Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送

    以上配置大意为,如果收到构建请求,使用JSONPath表达式从JSON格式的请求体获取键为event_name的值,存储到名为event_name变量,然后取该变量值同正则表达式^push$匹配,如果匹配...,则触发Jenkins构建当前项目,否则不构建。...如下,可在Script输入框编写构建完成后需要执行的Shell命令(该插件会先根据填写的shell命令生成一个临时sh脚本,然后执行该脚本),例为钉钉推送命令,具体代码参见下文 ?...,请及时查阅" # 消息正文 # Jenkins Job构建日志地址 JENKINS_JOB_BUILD_LOG_URL="http://ops.dev.xxxx.com/view/testarch/job...触发的记录会自动配置编辑页面下方显示,点击 View details按钮,可以查看请求明细: ?

    1.7K10

    以代码的形式构建 Jenkins

    为监控提供了可能性以及用来获取公司凭据的 Vault 同样可以获得。 Docker 管理 Jenkins 以及插件 好的,下一步就是 Jenkins 以及插件了。...我们之前升级 Jenkins 插件时遇到了很多问题,所以主要目标就是为它们固定版本。 这个时候 Docker 帮了我们大忙。我们使用事先构建好的 Jenkins 镜像用它作为我们安装的基础镜像。...使用 GUI(最简单的方法,仅需要点击即可) 直接使用 REST API 使用类似 Job DSL 或者 JJB wrapper 的插件 Jenkins Job Builder(JJB)可以让我们配置任务到一个可读的文本格式...│ └── Job2.yaml └── scripts ├── job1.sh | ... └── job2.sh 这里,我们可以一个 Job1.yaml 的文件里描述任务的定义,任务步骤脚本...conf config.ini test -r jobs/ $ jenkins-jobs --conf config.ini update -r jobs/ jenkins 任务升级命令它应该会被很轻松的运行

    1.5K30

    python操作jenkins初探

    前言 最近在工作需要用到在后端代码触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作。...创造新job 复制现有job 删除job 更新job 获取job构建信息 在工作上开始构建 创建节点 日常使用,python-jenkins能满足所有调用jenkins的操作的需求,只有对API使用方法熟练使用...创建job 创建自由风格的job jenkins中比较常用的job是自由风格的job,特点是job配置可以使用shell脚本执行一些参数。 需要唯一的job名称,如果已存在的job会报错。...获取job的最后次构建构建完成任务后,不会返回构建号,所以需要执行获取job的最后次构建号的方法。 通过get_job_info方法的返回数据结构可以拿到最后次构建号。...']['number']) 输出: 3 获取job的某次构建的执行结果状态 代码如下: #获取job名为job_name的job的某次构建的执行结果状态 build_number = server.get_job_info

    2.9K20

    jenkins pipeline全面介绍

    前言碎语 前篇博文我们实践了jenkins pipeline的脚本模式,体验到了pipeline的流式构建流程,以及通过bule  ocean更清晰的展示了构建的全过程,下面我们就jenkins...Jenkins pipeline是什么? Jenkins Pipeline是一套插件,支持Jenkins实施和集成持续交付管道。...对软件的每一次改变(源代码控制中提交)都会在发布过程中经历一个复杂的过程。这个过程包括以可靠和可重复的方式构建软件,以及通过测试和部署的多个阶段来推进构建的软件(称为“构建”)。...可扩展性:Pipeline插件支持对其DSL的定制扩展 。...同时他兼容经典的自由模式的jobJenkins Pipeline从头开始设计,但仍与自由式作业兼容,Blue Ocean减少了经典模式下的混乱并为团队的每个成员增加了清晰度。

    31620

    Jenkins Gitlab持续集成打包平台搭建

    commit log:Git Changelog Plugin 自定义全局变量: Environment Injector Plugin 自定义邮件插件:Email Extension Plugin 获取当前登录用户信息...上配置密钥到SSH:复制id_rsa.pub里面的公钥添加到Jenkins(private key选项) 新建Job Jenkins,所有的任务都是以”Job”为单位的。...进行操作前,你需要新建一个JobJob新建比较简单,只需要在Jenkins管理的首页左侧,点击“New Job”,一般选择free-style software project,再输入Job的名字即可...配置Gitlab 新建的任务(Jobs),Gitlab源码配置如下图:需要输入git仓库和build分支,公钥使用上面配置SSH生成的公钥。...设置 Last Show 构建成功后最终的结果如下如所示: 后记 签名和证书问题(iOS) Set up code signing for iOS projects 安装JENKINS到发布IPA的那些坑

    1.1K20
    领券