当前位置: 首页 > news >正文

Jenkins pipeline触发下游流水线

1、选择关注的上游项目

2、Pipeline脚本参考如下

pipeline {
agent {
label {
label 'slave_nodepoint_22'
retries 3
}
}

stages {
stage('Clean Workspace') {
steps {
cleanWs()
}
}

stage("Test") {
steps {
script {
// 获取上游构建信息
def upstreamBuilds = currentBuild.getBuildCauses('hudson.model.Cause$UpstreamCause')

if (upstreamBuilds) {
// 获取第一个上游构建信息
def upstreamCause = upstreamBuilds[0]

// 获取上游项目名称和构建号
def upstreamProject = upstreamCause.upstreamProject
def upstreamBuildNumber = upstreamCause.upstreamBuild

// 获取上游构建对象
def upstreamRun = Jenkins.instance.getItemByFullName(upstreamProject)
.getBuildByNumber(upstreamBuildNumber as int)

// 获取上游构建开始时间
def upstreamStartTime = upstreamRun.getTime()

// 获取上游构建持续时间(毫秒)
def upstreamDuration = upstreamRun.getDuration()

// 计算上游构建结束时间
def upstreamEndTime = new Date(upstreamStartTime.time + upstreamDuration)

echo "上游项目: ${upstreamProject}"
echo "上游构建号: ${upstreamBuildNumber}"
echo "上游构建开始时间: ${upstreamStartTime}"
echo "上游构建持续时间: ${upstreamDuration}ms"
echo "上游构建结束时间: ${upstreamEndTime}"
} else {
echo "当前构建不是由上游项目触发的"
}
}

}
}
}
}

3、管理员批准脚本签名,对应位置添加如下内容

method hudson.model.Job getBuildByNumber int
method hudson.model.Run getDuration
method hudson.model.Run getTime
method jenkins.model.Jenkins getItemByFullName java.lang.String
staticMethod jenkins.model.Jenkins getInstance

staticMethod jenkins.model.Jenkins getInstance

4、观察效果

http://www.dtcms.com/a/290904.html

相关文章:

  • 数据结构:反转字符串(Reversing a String)
  • 052_迭代器(Iterator / ListIterator)
  • HCL 三层知识总结
  • Java 二叉树
  • uniapp+vue3预约时间和日期
  • registry-ui docker搭建私有仓库的一些问题笔记
  • 在React中做过哪些性能优化?
  • java每日精进 7.21【Uel表达式和流程设计】
  • 【Elasticsearch】IndexModule
  • 【沧海拾昧】微分先行PID与中间微分反馈控制
  • 工业网关的应用场景
  • 【正常配置了beast扩展,phpinfo信息也显示了,但是就是不运行】
  • 前端-DOM
  • pandas 的series和dataframe的用法,六个题目
  • 141、环形链表
  • 前后端分离项目进阶1---后端
  • 果园里的温柔之手:Deepoc具身智能如何重塑采摘机器人的“生命感知”
  • Python day20 - 特征降维之奇异值分解
  • 【设计模式C#】工厂方法模式(相比简单工厂模式更加具有灵活性和扩展性的工厂模式)
  • git_guide
  • prometheus主动服务发现机制
  • 在 React 中实现全局防复制hooks
  • Java 解析前端上传 ZIP 压缩包内 Excel 文件的完整实现方案
  • Neo4j 5.x版本的导出与导入数据库
  • 易语言+懒人精灵/按键中控群控教程(手机、主板机、模拟器通用)
  • CFD总压边界条件的理解与开发处理
  • DM8数据库Docker镜像部署最佳实践
  • 自学鸿蒙测试day01-插件安装推荐
  • Vue 3 响应式原理详细解读【一】—— Proxy 如何突破 defineProperty 的局限
  • 计算机发展史:晶体管时代的技术飞跃