update Jenkins build status(更新jenkins的build状态)

近日在研究怎么更新jenkins job的状态,常用状态有几种:SUCCESS,UNSTABLE,FAILURE,ABORTED

发现可以在pipeline脚本中自主修改job的状态,例如currentBuild.result = 'FAILURE',即可将job状态改为FAILURE,但是发现Jenkins一个机制,只能由好的状态改为更坏的状态,SUCCESS<UNSTABLE<FAILURE<ABORTED(还有其他状态,不太常用,不列举了)状态原来是SUCCESS,可以改成右边任意一个更坏的状态,但是FAILURE可以改成ABORTED,但是不可以改成更好的SUCCESS或UNSTABLE状态

翻了一下Jenkins源码:

可以尝试修改description 

currentBuild.setDescription(‘ddddddd’),可以插入html语句:
如:currentBuild.setDescription(‘<p><font color="blue">All cases Passed but maybe include retry cases</font></p>’)效果如下:

注:做个笔记记录,避免重复踩坑

 

### Jenkins 实现滚动更新的方法 在现代 DevOps 流程中,Jenkins 是一种常用的持续集成工具,用于自动化软件开发中的各种任务。通过配置 Jenkins 和编写相应的脚本,可以实现高效的滚动更新部署流程。 #### 配置 Jenkins 进行滚动更新的关键要素 1. **流水线定义** 使用 Jenkins Pipeline 定义整个构建和部署过程。Pipeline 提供了一种声明式的语法来描述复杂的 CI/CD 工作流[^2]。 2. **插件支持** Jenkins 社区提供了丰富的插件生态系统,其中一些插件专门针对滚动更新进行了优化。例如,“Deploy to Container Plugin” 或者 “Ansible Plugin”,这些都可以帮助简化容器化环境下的滚动更新逻辑[^3]。 3. **脚本执行** 对于特定平台(如阿里云 SLB),可以通过自定义 Shell 脚本来完成负载均衡器的切换以及服务实例的状态调整。下面是一个简单的例子展示如何利用 Bash 脚本配合 Jenkins 来处理滚动发布: ```bash #!/bin/bash # 删除旧状态文件 rm /home/admin/status/nginx-status # 执行其他必要的初始化命令... sleep 6 ``` 此脚本片段展示了基本的操作步骤之一,在实际生产环境中可能还需要加入更多的健壮性和错误检测机制。 4. **分批部署策略** 滚动更新通常涉及逐步替换服务器节点而不是一次性全部停机重启。这要求我们在 pipeline 中设计合理的阶段划分,并确保每一批次之间的健康检查能够正常运行后再继续下一组迁移动作[^1]。 5. **监控与回滚计划** 自动化的成功与否取决于是否有良好的反馈循环系统;因此建议设置详尽的日志记录功能并结合外部 APM(Application Performance Management) 解决方案来进行实时性能跟踪分析。如果出现问题,则应具备快速恢复的能力。 综上所述,要让 Jenkins 成功实施滚动升级需要综合考虑多方面因素包括但不限于上述提到的内容。 ### 示例代码:基于 Declarative Pipeline 的滚动更新模板 以下是采用 declarative syntax 编写的 Jenkinsfile 文件样例,它演示了一个典型的滚动更新工作流: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/example/repo.git' } } stage('Build') { steps { sh './gradlew build' } } stage('Rolling Update') { parallel { stage('Batch 1') { steps { script { echo "Updating first batch of instances..." sleep time: 30, unit: 'SECONDS' // Simulate update delay. } } } stage('Batch 2') { steps { script { echo "Updating second batch of instances..." sleep time: 30, unit: 'SECONDS' // Simulate update delay. } } } } } stage('Post Deployment Check') { steps { input message: 'Are all services healthy?', ok: 'Yes' } } } post { failure { mail to: 'admin@example.com', subject: "Job failed", body: "Please investigate the issue." } } } ``` 该 Groovy 脚本实现了从代码检出到最终验证的一整套完整的 CI/CD 流水线作业。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值