Jenkins 管道:如何触发另一个作业并等待它而不使用额外的代理/执行器

2024-02-27

我正在尝试设置各种 Jenkins 管道,其最后阶段始终是运行一些验收测试。长话短说,所有产品的验收测试和测试数据(其中大部分是共享的)都被签入同一个存储库,大小约为 0.5 GB。因此,似乎最好为验收测试提供一个单独的工作,并通过每个管道的“构建”步骤来触发它,并使用适当的参数来运行相关测试。 (有时重新运行这些测试而不重建产品也很有用)

stage('AcceptanceTest') {
    steps {
        build job: 'run-tests', parameters: ..., wait: true
    }
}

到目前为止,我发现我可以:

  1. 正常触发作业。但这需要一个额外的代理/执行者, 似乎没有一种方法可以告诉它重用来自 构建(主管道)。两个管道都以“agent { label 'master' }”开头,但是 似乎意味着“在与主节点匹配的节点上分配一个新代理”。
  2. 使用“wait: false”参数触发作业。这不 阻止执行程序,但这确实意味着我无法报告执行程序的结果 在主管道中进行测试。给人的印象是测试 舞台总是成功的。

有没有更好的办法?


我似乎已经解决了这个问题,通过在主管道的顶部添加“agent none”并将“agent { label 'master' }”移动到构建阶段。然后,我可以在没有代理的情况下离开“AcceptanceTest”阶段,并像以前一样在“运行测试”作业中定义它。我从文档中得到的印象是,如果你将代理分阶段放置,那么所有阶段都需要有一个代理,但情况似乎并非如此。对于这个用例来说这是幸运的......

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

Jenkins 管道:如何触发另一个作业并等待它而不使用额外的代理/执行器 的相关文章

  • 詹金斯钩子不工作 - 詹金斯位桶

    您好 我正在使用 jenkins 和 bitbucket 当我向 bitbucket 存储库提交任何内容时 我想触发 jenkins 中的构建 在詹金斯 我创建了一个名为test 1 在配置部分Build Triggers我勾选的部分Tri
  • Jenkins 管道作业无法在 UI 中完成

    目前的问题是詹金斯管道作业确实运行并正常完成 但在 UI 中 该工作会一直保留 直到我们通过 UI 中止他 这种情况并不常见 大概只占 5 的工作岗位 这可能是詹金斯错误 重新加载配置问题或只是节点上的流量太大 我真的不确定 由于所有 有问
  • kubectl exec 失败并出现错误“无法使用 TTY - 输入不是终端或正确类型的文件”

    我正在使用以下命令运行詹金斯管道 kubectl exec it kafkacat 5f8fcfcc57 2txhc kafkacat b cord kafka C t BBSim OLT 0 Events o s 1585031458 它
  • 在 Jenkins API 中,有没有办法找到上次构建的 git 提交?

    我想编写一个脚本来自动创建热修复的功能分支 为了做到这一点 我需要弄清楚如何查看当前构建中的最后一次提交 有没有办法从 Jenkins API 获取最后一次提交 git checkout b hotfix
  • Jenkins - 配置 Jenkins 以轮询 SCM 中的更改

    我正在与 jenkins 合作 当 svn 存储库发生更改时 我想运行 Maven 目标 我附上了一张我当前配置的图片 我知道每 5 分钟检查一次存储库是疯狂的 我想只有当有新的变化时才运行它 但我找不到方法 无论如何 它不会检查存储库 我
  • 仅运行相应源代码已更改的单元测试?

    我正在 Jenkins CI 服务器中运行单元测试和 Selenium 测试 众所周知 在大型项目中测试需要很长时间才能运行 Java 是否有一个工具 框架只能触发其源代码已更改的测试 这是因为并非每次对 SCM 的提交都会影响源代码的所有
  • 在 Jenkins 内运行构建时,我收到“java/lang/OutOfMemoryError”

    2020 02 25 10 11 24 986 0000 id 79 信息hudson model AsyncPeriodicWork lambda doRun 0 开始maven repo cleanup 2020 02 25 10 11
  • Xvfb 插件可在 Jenkins 上同时运行多个作业实例

    我在 Jenkins 有一份工作 负责运行用 Selenium 编写的 UI 测试 该作业可以同时运行它的多个实例 我在尝试使用 Xvfb Xvfb插件 https wiki jenkins ci org display JENKINS X
  • 从 Jenkins Pipeline 捕获 shell 脚本输出

    我正在尝试提取 git 分支并在 Jenkinsfile 中提交信息 如下所示 def commit sh returnStdout true script git rev parse HEAD trim def branch sh ret
  • 詹金斯:捕获错误跳到下一阶段,但仍然显示错误阶段失败

    我目前正在使用詹金斯catchError https www jenkins io doc pipeline steps workflow basic steps catcherror catch error and set build r
  • Jenkins Amazon ECR:没有基本的身份验证凭据

    我无法使用 Jenkins Pipeline 将 ocker 图像推送到 Amazon ECR 我总是得到no basic auth credentials 这是我的设置 詹金斯 2 46 2 亚马逊 ECR 插件 1 4 https wi
  • 如何跳过 Maven 存储库中的发布或特定模块

    Heyho 我有一个具有以下结构的 Maven 项目 parent 项目清单 API模块 module2 module5 test 分配 组装 所以首先我运行父模块 然后运行构建 api 的模块 然后运行依赖于 api 的模块 然后运行一个
  • 有没有办法将 Jenkins 与 Github Pull 请求结合使用?

    我希望 Jenkins 自动查找并运行属于开放拉取请求一部分的每个分支的测试套件 我还没有找到一些 Jenkins 插件 这可能吗 最近发布了一个新插件Jenkins Github 拉取请求构建器 https wiki jenkins ci
  • 在 Jenkins 中执行批处理文件

    我有一个简单的批处理文件 我想要从 Jenkins 调用 运行 执行该文件 Jenkins 中有同样的插件吗 如何从 Jenkins 执行批处理文件 如果有相同的教程或文档 无需为此添加新插件 在Jenkins 选择您的工作名称并转到配置部
  • 如何在 Jenkins 服务器上运行 Jest 测试

    我正在尝试运行我的Jest https facebook github io jest 在 Jenkins 部署期间进行测试 如果我 ssh 进入服务器 我可以 sudo 进入 Jenkins 用户并从工作区成功运行测试 但是 当我尝试从
  • 詹金斯没有运行任何作业

    我在尝试解决其他一些问题时成功地破坏了詹金斯 现在 每当我运行作业时 它都会立即失败并出现以下错误 java lang NullPointerException at java util TreeMap putAll TreeMap jav
  • 在centos上设置jenkins:ssh密钥和git的问题

    经历了很多问题 但似乎没有什么能解决我的问题 或者更准确地说 我不确定我是否正确地完成了整个事情 所以这里是 已安装centos 6 3操作系统 然后我按照以下指南安装詹金斯 https wiki jenkins ci org displa
  • 限制 jenkins.log 或 hudson.log 的日志大小

    我使用 Hudson 和 Jenkins 并且我在它们上做了几份工作 我的 hudson log jenkins log 文件有时会急剧增长 我知道相同的大小可能受到限制 请帮助了解如何更改以及必须在哪个文件中进行更改 您可以使用logro
  • Jenkins:从神器部署战争文件

    我们正在使用Jenkins建立 maven 并部署工件 JAR 和 WAR s 到内部工件服务器 快照和版本 对于部署 目前 我们有 Jenkins 作业来打包 war 文件 来自发布 scm 标签 并部署到不同的环境 服务器 我们想要跳过
  • 如何将 .xlsx 文件上传到 jenkins 作业

    如何将 xlsx 文件作为构建参数上传到 jenkins 作业 我尝试使用文件参数 但我发现该文件正在丢失其扩展名或原始格式 有什么方法可以从 jenkins UI 将 excel 文件上传到 jenkins 作业吗 In the file

随机推荐

  • 如何从点文件中提取子图

    我有一个由名为egypt的软件生成的点文件 点文件包含许多节点和边 如果我用这个点文件画图 由于节点太多 很难看清图片 而我需要的只是从一个节点开始的子图 不需要全图 有没有办法使用这个点文件从指定节点 例如start node 绘制子图
  • 避免注册表 Wow6432Node 重定向

    我尝试在 c 中使用 Microsoft Win32 RegistryKey 插入一些简单的注册表项 但路径会自动更改为 HKEY LOCAL MACHINE SOFTWARE Test to HKEY LOCAL MACHINE SOFT
  • 通过排列两个变量添加计数器列(dplyr)

    我到处寻找了一段时间 但找不到适合我情况的任何解决方案 我有一个数据框 其中混合有 ID 和 VAR 下面我尝试复制一个示例 require dplyr seed 123 N lt 3 T lt 4 id lt rep letters 1
  • 根据控制器操作切换 Devise 身份验证模块

    我有一个 Rails 站点 使用Devise https github com plataformatec devise用于身份验证 我有一页 PhotosController create 需要在没有 cookie 的情况下对用户进行身份
  • 将 CMake 项目导入 Eclipse CDT

    我有一个土生土长的CMake http en wikipedia org wiki CMake项目 我想使用Eclipse http en wikipedia org wiki Eclipse 28software 29IDE 使用它 通过
  • Codeigniter - 使用多个数据库

    数据库 php db default hostname 192 168 2 104 db default username webuser db default password db default database vad db def
  • 如何在运行时更改 slf4j 级别?

    我使用 SLF4j 作为我的日志框架 由 log4j 支持 我的问题是我正在寻找一种在运行时更改记录器的日志记录级别的方法 据我了解 slf4j 不允许直接通过其自己的 API 执行此操作 因此 我必须直接访问日志记录提供程序 我个人认为这
  • 当 AppBar 下没有滚动内容时如何禁用 AppBar 阴影

    在 app bar dart 文件中提到海拔控制应用栏下方阴影的大小 默认情况下 如果应用栏下方没有滚动内容 则不会绘制阴影 这是我的代码 Scaffold appBar AppBar brightness Brightness light
  • jTemplates:变量中的 html

    我想在 jTemplate 变量中包含一些 html 例如 td class numeric T total price td 其中总价格是 12 span 00 span 有什么方法可以让 span 显示为 html 吗 我得到它 mhi
  • C++ 中的对象序列化

    我想序列化 反序列化一些结构化数据 以便通过网络将其发送char buffer 更准确地说 假设我有一条消息类型struct Message struct Message Header header Address address size
  • 删除月份中某天的前导“0” SimpleDateFormat

    2012年1月4日的 0 可以去掉吗 我目前正在使用以下 Java 来获取日期格式 例如 Monday January 04 2012 我希望它看起来像 Monday January 4 2012 Date anotherCurDate n
  • 使用 cython 简单包装 C 代码

    我有许多 C 函数 我想从 python 调用它们 cython 似乎是可行的方法 但我无法真正找到具体如何完成此操作的示例 我的 C 函数如下所示 void calculate daily char db name int grid id
  • 如何在NodeJS中获取UTC日期对象? [复制]

    这个问题在这里已经有答案了 我想获取 UTC 中的当前日期对象 我尝试使用new Date Date now 等等 但他们返回当地时间 如何获取 UTC 日期对象 我想要 Date 对象 而不是字符串表示形式 只需使用new Date ne
  • Jetpack Compose dev06 setContent() 不起作用?

    更新到 dev06 并运行应用程序时 出现以下错误 java lang NoSuchMethodError No static method setContent Landroid app Activity Lkotlin jvm func
  • Android Spinner:获取所选项目更改事件

    当所选项目发生更改时 如何设置 Spinner 的事件侦听器 基本上我想做的事情与此类似 spinner1 onSelectionChange handleSelectionChange void handleSelectionChange
  • 如何在 Ubuntu 上的 NetBeans 中设置 zend 自动完成

    我在 Ubuntu 11 04 上的 NetBeans 7 1 中设置 Zend 自动完成代码时陷入困境 一点帮助就太好了 我在工具 gt 选项 gt PHP gt Zend中设置 usr bin zf sh 作为 Zend 脚本 按下 注
  • 返回引用与返回值 C++ 之间的区别

    关于为什么有必要从函数返回引用的问题 如果我们替换以下代码 其行为完全相同int with int在第 9 行和第 16 行 在我的示例代码中 返回引用与值并不重要吗 在什么样的例子中它会开始变得重要 在我看来 我们无法返回函数局部变量的引
  • 禁用 iframe 自动调整大小

    我正在使用一个包含 iframe 的网页 iframe 中包含大量数据 每次加载时 其高度都会扩展到其中内容的范围 然而 这使我的页面消失了 是否有办法锁定 iframe 的高度并允许用户滚动浏览内容 嗯 奇怪 你有这个问题的示例链接吗 当
  • 在 OS X 上的 Java swing 中设置默认应用程序图标图像

    我正在尝试设置 Jar 文件的图标图像 setIconImage new ImageIcon getClass getResource logo png getImage 在 Mac OS X 10 7 4 中运行时 出现以下错误 Jun
  • Jenkins 管道:如何触发另一个作业并等待它而不使用额外的代理/执行器

    我正在尝试设置各种 Jenkins 管道 其最后阶段始终是运行一些验收测试 长话短说 所有产品的验收测试和测试数据 其中大部分是共享的 都被签入同一个存储库 大小约为 0 5 GB 因此 似乎最好为验收测试提供一个单独的工作 并通过每个管道