如何在上游作业中获取下游作业的控制台输出?

2024-01-12

我正在尝试找到解决方法,因为第一个问题仍未得到解答。无法使用 Jenkins 的凭据运行 Start-Job https://stackoverflow.com/questions/48397232/cant-run-start-job-with-credentials-from-jenkins

我有工作 A。工作 A 在服务器上启动 powershell 脚本并显示一些输出。

我还有一个管道 B,它针对不同的服务器运行作业 A 的多个副本。 这是常规代码

stage 'Copy sources from Git'
build job: 'DeploymentJobs/1_CopySourcesFromGit'
stage 'Deploy to servers'
def servers = env.SERVERLIST.split('\n')
def steps =[:]

for (int i=0; i<servers.size(); i++) {
    def server = servers[i]
    def stepName = "running ${server}"
    steps[stepName] = {->
        echo server
        build job: 'DeploymentJobs/2_DeployToServer', parameters: 
[booleanParam(name: 'REBOOTAFTER', value: Boolean.valueOf(REBOOTAFTER)), 
string(name: 'SERVERNAME', value: server)]
    }

}

parallel steps

在管道的输出中,我只看到作业 A 启动的 N 个副本的信息,但没有看到它们的输出。 我只想在管道 B 的控制台输出中查看作业 A 的所有实例的 powershell 输出。

我不知道该怎么做,这可能吗?


更短的替代方案:

def result = build job: 'job_name', wait: true
println result.getRawBuild().getLog()

有必要将这两种方法列入白名单。

编辑:由于您不想等待构建运行,因此您可以在工作结束时添加此内容(或者在所有触发的构建应该完成后的某个时刻),其中 number_of_builds 在您的情况下将是servers.size( )。

def job = Jenkins.getInstance().getItemByFullName('job_A_name')
def last_build = job.getLastBuild().getNumber()
def first_build = last_build - number_of_builds

(first_build..last_build).each {
    println "Log of build $it"
    def build = job.getBuildByNumber(it)
    println build.log
}

如果您确实想确保您获得的构建是由您的作业触发的,您可以从构建对象中获取构建原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在上游作业中获取下游作业的控制台输出? 的相关文章

  • 只能加载NetBeans中的一些gradle项目

    非常类似于 无法在 NetBeans 中加载 gradle 项目 https stackoverflow com q 17698135 262852但我认为并不完全相同 即使只是因为这个问题的年龄 我看到了 gradle 消息after h
  • PowerShell Trim 字符串包含“< char >$”的错误?

    如果我使用Trim 包含字符串的方法 char repeated char 例如 BL LA 或 LA AB Trim 删除之后的重复字符 以及 例如 a BL LA b a Trim BL returns A not LA but a B
  • 詹金斯钩子不工作 - 詹金斯位桶

    您好 我正在使用 jenkins 和 bitbucket 当我向 bitbucket 存储库提交任何内容时 我想触发 jenkins 中的构建 在詹金斯 我创建了一个名为test 1 在配置部分Build Triggers我勾选的部分Tri
  • Jenkins 管道构建如何确定工作区文件夹?

    在 Jenkins 管道中 当在特定节点上运行构建时 会在该代理上分配工作空间 我们没有设置工作空间路径 因此它是自动确定的 据我了解 当同一作业在同一代理上同时运行时 工作区必须包含执行程序编号以隔离构建 但是 工作空间路径到底是如何构建
  • 从输出中删除空行

    我有这个脚本 for true Write Host Get Date UFormat Y m d H M S ping n 1 10 10 50 203 Select String SimpleMatch Pinging Context
  • 带有多个附件的电子邮件

    我正在为服务台编写一个 PowerShell 脚本 以便在将 userhome 文件夹从服务器迁移到 NAS 设备时使用 帮助台用户将用户名输入到 userhomelist txt 文件中 我的问题是我无法获取脚本来附加所有日志文件 电子邮
  • 使用 Groovy 从 Jenkins 主节点访问从节点上的文件

    我正在使用 Jenkins Build Flow 插件来实现并行化 Groovy DSL 执行某些文件操作 即使该选项Restrict where this project can be run设置为在特定从属设备上运行作业 DSL 在主控
  • 需要正则表达式帮助

    我正在尝试替换两次或多次出现的 br like br br br 标签与两个一起 br br 具有以下模式 Pattern brTagPattern Pattern compile lt s br s s gt s 2 Pattern CA
  • Powershell 中的“$”是什么?

    是什么意思 在 Powershell 中 Edit TechNet 答案 http technet microsoft com en us library hh847768 aspx同义反复 没有解释 成功 或 失败 的含义 包含上次操作的
  • Git 子模块未在 Jenkins 构建中更新

    我在詹金斯的一个项目中有一个子模块 我已启用高级设置以递归更新子模块 当我运行构建时 我看到工作区包含子模块中的文件 问题是 它似乎是子模块的第一个修订版 当我推送更改 托管在 GitHub 上的存储库 时 Jenkins 似乎没有更新子模
  • Powershell脚本将多个远程地址添加到防火墙规则

    我正在尝试编写一个脚本 该脚本将循环遍历本地防火墙规则并更新远程地址表 这是我到目前为止所拥有的 它不起作用 应该很简单 所以不确定发生了什么 该脚本运行时没有错误 但实际上并没有更新任何内容 name Get NetFirewallRul
  • Jenkins - 如何暂停排队作业的运行并让新构建优先

    詹金斯任何版本 我有两个版本 1 642 3 或 2 32 3 我有一份詹金斯工作jobA 我们假设此作业将工件部署到目标部署服务器 它需要 2 个参数 工件名称和目标部署服务器 执行并发构建当前已禁用 即未选中 假设我手动启动了此作业的多
  • Powershell - 从图像网址下载图像

    对 powershell 的了解有限 我尝试从图像网址下载图像 例如这样 http hdwallpaperia com wp content uploads 2014 01 Mc Laren P1 Wallpaper Image Pictu
  • Jenkins 管道作业无法在 UI 中完成

    目前的问题是詹金斯管道作业确实运行并正常完成 但在 UI 中 该工作会一直保留 直到我们通过 UI 中止他 这种情况并不常见 大概只占 5 的工作岗位 这可能是詹金斯错误 重新加载配置问题或只是节点上的流量太大 我真的不确定 由于所有 有问
  • 从 Ansible 中的文件结果中提取文件名

    我正在尝试使用 Ansible 的结果find模块 它返回在特定文件夹中找到的文件列表 问题是 当我迭代结果时 我没有文件名 我只有它们的完整路径 包括名称 有没有一种简单的方法来使用find result item下面提供file nam
  • 未找到 Gradle DSL 方法:“exclude()”

    我正在 Android Studio 中工作 当我在 build gradle 文件中添加该行时 dependencies compile files libs poi ooxml schemas 3 12 20150511 a jar e
  • 如何使用类在 PowerShell 中实现事件处理

    我希望能够创建一个自定义事件 该事件将触发订阅该事件的函数或对象 我查看了一些功能 例如 New Event and Register ObjectEvent 但我不完全确定如何有效地将它们组合在一起 我想要的想法是让一个函数在引发某个事件
  • 修改 xml 同时保留空格

    我在尝试替换 XML 文件中的属性同时保留空格时遇到了几个问题 尝试1 xml xml get content data xml xml Path To Attribute value set content data xml String
  • 无法连接到存储库:执行 git 命令时出错:git ls-remote -h ***public github url *** HEAD

    I have installed jenkins on ec2 instance when i try to configure my public github repo with the ec2 instance then it thr
  • git jenkins 中未找到存储库

    我正在使用 jenkins 2 64 并安装了最新的插件 我试图在 jenkins 中设置 git 存储库并给出凭据 但给出错误无法连接存储库 状态代码为 128 Cloning repository https github com so

随机推荐

  • SQL -> 关系代数

    假设我有以下关系 Branch branchNo PK street city postcode Staff staffNo PK fName lName sex branchNo FK 这对于这个问题来说并不重要 但是 PK 主键 FK
  • Xamarin 形成值转换器导致无限循环

    我试图获得一个使用转换器的简单双向绑定示例 但是一旦条目中的值发生变化 例如如果您输入 1 它就会陷入无限循环 它会到达 ConvertBack 方法的末尾并设置值正确 然后 它再次调用 ConvertBack 方法 除了这次的值是 11
  • SQL在两个表排列中向上或向下移动行

    我有两个以这种方式设计的表 并考虑到可能的元素重新排列 1 dbo test db 002 with columns id INT NOT NULL IDENTITY 1 1 PRIMARY KEY name NVARCHAR 255 an
  • 在 Go 代码中如何在超时时终止进程及其子进程?

    我遇到一种情况 我需要在一段时间后终止一个进程 我开始这个过程 然后 case lt time After timeout if err cmd Process Kill err nil return 0 fmt Errorf Failed
  • Markdown 中的语义标记

    我想使用简单的文本编辑器和 Markdown 做课堂笔记 有没有办法标记文本元素以使它们机器可读 例如 我想将某些单词和短语标记为 定义 然后 我可以运行某种脚本来显示单词及其相应的定义 我知道这已经过时了 但我刚刚开始接受 Markdow
  • 将命令行参数传递给 pip install

    我目前正在开发一个导入 Fortran 模块的 Python 项目 这setup py看起来与那个类似 from numpy distutils core import Extension from numpy distutils core
  • 在 JavaScript 中检测 Flash 对象点击

    有没有办法让 JavaScript jQuery 知道 Flash 对象何时被单击 并且仍然让 Flash 处理单击 我尝试将桌子放在物体顶部position fixed and a z index并将对象设置为param name wmo
  • 如何在iPhone上扩展键盘渐变?

    我发现很少有应用程序可以扩展键盘 但我想知道它们是如何做到的 这里有 2 个例子 文字学 http www textasticapp com images screenshot iphone5 png Prompt https pbs tw
  • Firefox 附加 RESTclient - 如何输入 POST 参数?

    我已经安装了 Firefox RESTclient 附加组件 但是我很难弄清楚如何传递 POST 参数 有特定的格式可以做到这一点吗 或者是否有其他工具可用于在 Mac OS X 上调试 REST API 如果您想提交 POST 请求 您必
  • 在 F# 中定义静态类

    是否可以在 F 中定义包含可重载成员的静态类 let模块绑定不能重载 即使它们被编译为静态类中的静态成员 type声明可以包含静态成员 但我不知道类型本身是否可以变为静态 我当前的解决方案是定义一个type使用私有构造函数并使用它 我想知道
  • 如何在非 NVIDIA 设置上加速深度学习?

    由于我只有 AMD A10 7850 APU 并且没有资金购买 800 1200 美元的 NVIDIA 显卡 因此我正在尝试利用我拥有的资源通过 TensorFlow Keras 加速深度学习 最初 我使用了 Tensorflow 的预编译
  • 使用 json.net 解析嵌套 json

    我的 json 反序列化有问题 下面是我的 json id ObjectId 56bc28c436b252c406a67f17 empname dhiraj empcode 123a level levelID 3 levelDescrip
  • 如何使用颜色图绘制 matplotlib 线图?

    如何使用 python matplotlib 创建线图 使得线条的颜色相对于另一个系列有所不同 举个简单的例子 import numpy as np import matplotlib pyplot as plt t np arange 0
  • 选择数据步骤中具有最大值的观测值

    Table old date 05DEC2016 a 28NOV2016 b 22DEC2016 c 23JAN2017 d 12JAN2017 e 09JAN2017 f 25DEC2016 g 我需要创建一个新表 data new se
  • 如何使用共享首选项保存图像路径

    我有一个活动可以打开另一个活动来获取相机图库图片 图片返回到我原来的活动并停留在 imageView 中 效果很好 如何保存图像 以便当用户稍后返回或杀死应用程序时图像仍然存在 我知道我应该使用共享首选项来获取图像路径而不是保存图像本身 但
  • 不同的进程是否有共享静态变量的单独副本或公共副本?

    我试图理解共享内存概念的基本原理 我试图创建一个具有一个函数和一个静态数组变量的共享库 我想通过该共享库的函数访问静态数组变量 这是我的共享库 foo c include
  • Android ListView 中带进度条下载多个文件

    我想创建一个ListView允许用户下载许多文件并在每个文件中显示进度条状态ListView物品 它看起来像这样 下载ListView有一些规则 每个下载任务显示在一个ListView带有进度条 百分比和当前状态 下载 等待 完成 的项目
  • 如何可靠地检测 Flash 是否是服务请求的发起者?

    我需要能够检测 flash 是否是 ASP NET 服务请求的发起者 原因是当响应状态代码不是 200 时 Flash 无法处理 SOAP 消息 但是 我允许异常通过我们的 SOAP Web 服务冒泡 因此 SOAP 服务器故障的状态代码为
  • HTML 和 CSS 中的缩进列表

    我是 CSS 和列表新手 我尝试使用我在 w3schools 上看到的代码之一 它显示了如何缩进列表 h4 A nested List h4 ul li Coffee li li Tea ul li Black tea li li Gree
  • 如何在上游作业中获取下游作业的控制台输出?

    我正在尝试找到解决方法 因为第一个问题仍未得到解答 无法使用 Jenkins 的凭据运行 Start Job https stackoverflow com questions 48397232 cant run start job wit