jenkins-pipeline - 将进度返回到 Jenkins 管道 sh 步骤
问题描述
我正在使用 Pipeline 插件开发 Jenkins 工作。
Jenkins 绘制了一个漂亮的 GUI,显示了每个阶段的整体进度条和进度条。根据我的观察,它会根据之前发布的平均运行时间来更新进度条。
我工作的最后一步(运行)很长。此步骤运行一些可以估计其进度的实用程序,并且当前将其打印到标准输出。
因此,我可以从该步骤打开日志并查看实际进度。
然而,这一进展与詹金斯的估计不符。
有什么方法可以将实用程序对进度的估计传递给 Jenkins,以便它可以相应地更新进度条?
解决方案
您可以通过在 Groovy 中重写长时间运行的步骤并在较短的步骤之间添加打印输出来解决您的问题。
而不是例如
stage('very_long_stage') {
steps {
script {
println "Running very long stage"
sh "make all"
}
}
}
你可以有,例如
stage('very_long_stage') {
steps {
script {
println "Running long step 1"
sh "make one"
println "Running long step 2"
sh "make two"
// etc.
}
}
}
推荐阅读
- git - 从企业 gitlab git 克隆到 EC2
- node.js - 返回 hasura 变量时出错 - Auth Webhook - AWS Lambda
- javascript - TypeError:无法在 React Project 中读取 null 的属性“长度”
- git - 如何修复 rebase 上子模块的“add_cacheinfo 无法刷新路径”错误?
- python-3.x - TypeError:使用拆分和拼写时预期的字符串或类似字节的对象
- react-native - 单击时反应原生可触摸不透明度边框颜色变化
- python - 在python pandas中将带时区的日期时间转换为没有时区的日期时间的最佳方法是什么?
- python - 如何从字符串中仅获取 URL
- java - 如何解决它,整数到数组的赋值问题
- javascript - 声明全局变量并在许多函数中使用