如何获取在从属设备上执行的管道阶段内的 Jenkins 主 IP/主机名?

2024-01-12

我有一个 Jenkins 声明式管道,我在一个阶段进行构建,并在另一阶段在不同的机器上进行测试。我还有一个 Selenium 集线器与 Jenkins master 在同一台机器上运行。

pipeline {
  agent none
  stages {
    stage('Build') {
      agent { node { label 'builder' } }
      steps {
        sh 'build-the-app'
        stash(name: 'app', includes: 'outputs')
      }
    }
    stage('Test’) {
      agent { node { label 'tester' } }
      steps {
        unstash 'app'
        sh 'test-the-app'
      }
    }
  }
}

我希望在测试阶段运行的 Selenium 测试能够连接回 Jenkins 主计算机上的 Selenium 集线器,这意味着我需要从从属计算机获取 Jenkins 主计算机的 IP 地址或主机名。

有没有办法做到这一点? Jenkins master URL/主机名不在环境变量中,我不确定如何获取 Jenkins master 的 IP 地址。


不确定是否有更好的方法来做到这一点,我可以运行

def masterIP = InetAddress.localHost.hostAddress
println "Master located at ${masterIP}"

在我的詹金斯文件中。我第一次在 Jenkinsfile 中运行此代码时,构建失败并显示

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: 
Scripts not permitted to use method java.net.InetAddress getHostAddress
at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:178)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor$6.reject(SandboxInterceptor.java:243)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:363)
at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:28)

我必须通过导航到批准 Jenkins 中的方法签名Manage Jenkins > In-process Script Approval.

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

如何获取在从属设备上执行的管道阶段内的 Jenkins 主 IP/主机名? 的相关文章

  • 使用 Jenkins Git 插件中的 SSH 密钥在构建期间运行 Git 命令

    我们在 Jenkins 上的构建作业作为发布构建的一部分运行一些 git 命令 例如 git push 和 git pull 因此需要一种在构建期间从 shell 运行经过身份验证的 git 命令的方法 我们的詹金斯奴隶不持有任何凭证 因为
  • 使用与后期步骤中的 Shell 脚本中的克隆相同的 http git 凭据

    我想要自动化我们的发布过程 并且我有一个 Maven 项目的以下 Jenkins 构建作业 使用配置的 Jenkins 凭证 用户名 密码 克隆 Git 存储库 执行一些 Maven 命令以进行构建 配置一个后步骤来执行一些额外的 Git
  • 使用 jenkins.Creating .apk 文件生成 android 版本

    我正在使用 Jenkins 在 mac 上持续集成 android 应用程序 但是我无法使用 Jenkins 生成 apk 文件 就像我们在 iOS 应用程序中创建 ipa 一样 创建用于在 mac 上分发的 apk 文件的配置是什么 您可
  • 在 Cloudbees Jenkins 文件夹中设置环境变量

    在我重新安装 Jenkins 和 Cloudbees Free Enterprise 插件后 Jenkins 文件夹中设置的环境变量停止工作并从配置 UI 中消失 但是 它仍然存在于文件系统上的 config xml 中 如下所示
  • 如何从 Jenkins 管道中的函数返回“allOf”的值

    我们有一个 Jenkins 管道设置 使用 Jenkinsfile 来定义不同构建需要做什么 在我们的很多阶段 当我们要发布版本时 我们需要完成一些工作 但如果不打算发布版本 则可以跳过这些工作 目前我们有这样的代码 when allOf
  • Jenkins git 插件 - 有时太慢

    以下内容摘自 Jenkins 日志 00 00 03 135 gt git fetch tags progress email protected cdn cgi l email protection some org some repo
  • 如何在 Jenkins 中安排构建?

    如何安排 Jenkins 构建 使其只能在每天的特定时间进行构建 例如下午 4 点开始 0 16 1 7 我理解为 每个月周一到周日下午 0 分钟 下午 4 点 但是它每分钟都会构建 如果有任何建议 我将不胜感激 谢谢 Update 请阅读
  • 在 Jenkins 声明式管道中对后置条件进行分组

    有没有办法在 Jenkins 声明式管道中对后置条件进行分组 例如 我想对状态做同样的事情aborted failure and success 有没有比以下更短的方法 post aborted sendNotification curre
  • Jenkins Pipeline:在构建日志控制台中启用时间戳

    如何显示多分支管道项目的每一行的构建时间戳 它是受支持的功能吗 如果是 是否需要在Jenkinsfile或者有 GUI 选项吗 向声明性管道添加选项 pipeline agent any options timestamps stages
  • 让 gradle 执行 JUnit 测试(Android 应用程序、Android Studio)

    我目前正在开发一个 Android 应用程序 最近从 Eclipse 切换到 Android Studio 不是我的想法 不过 我想配置 jenkins 服务器来定期运行 JUnit 测试和其他测试 为了实现这一点 我尝试配置一个 grad
  • Jenkins:尽管没有变化,SCM 仍然触发持续构建

    我们遇到一个问题 尽管没有代码更改 SCM 仍在触发构建 SCM 每 15 分钟轮询一次更改 并且仅在发现更改时才触发构建 以下是连续 SCM 轮询日志的几个示例 Started on Nov 15 2013 11 47 14 AM Usi
  • Jenkins 可以检测到任何 svn 用户每次提交代码吗?

    Jenkins 可以检测到任何 svn 用户每次提交代码吗 我想知道每次 Jenkins 提交 svn user 时 有什么方法或 jenkins 插件吗 现在我用svn updateJenkins 中的 cmd 来更新 svn 您可以按照
  • 抑制 Jenkins 文件中的管道输出

    当我在詹金斯上运行构建时 它总是在执行詹金斯步骤时打印管道 控制台当前输出 Build context CI clean app clean BUILD SUCCESSFUL in 22s 2 actionable tasks 2 exec
  • Jenkins 的代码覆盖率 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从容器内运行 podman?

    我想跑podman https podman io作为运行 CI CD 管道的容器 但是 我不断从 podman 容器中收到此错误 podman info ERRO 0000 overlay is not supported over ov
  • 如何将 Hudson/Jenkins 参数传递给 Windows 批处理命令

    好吧 我需要在我的 Hudson 作业中执行一个批处理文件 我有一个参数 Jenkis 参数 我需要将这个值 如参数 传递给批处理文件 我尝试了以下操作 Deploy cmd configuration DEPLOYCONFIGURATIO
  • Jenkins 工作流程检查作业是否正在运行或已计划

    是否可以检查某些作业是否正在运行或从某些工作流程脚本中安排 尽管使用阶段管理并发似乎就足够了 stage name stageName concurrency 1 并在这些阶段运行构建 如下所示 build job test job wai
  • 如何仅根据拉取请求在 Jenkins 中运行阶段?

    我现在有一个基于 Jenkinsfile 的管道 其中包含多个阶段 每次提交到 Github 时都会由 webhook 触发 我想在每次提交时保持 构建 和 单元测试 阶段运行 但仅在分支准备拉取请求时运行 集成测试 阶段 我想要的是 st
  • 如何在多进程系统中实现锁定?

    我们正在并行运行许多詹金斯项目 我们使用 python 并且选择使用 pyenv 管理虚拟环境 不幸的是 pyenv 有一个众所周知的竞争条件 https github com yyuu pyenv issues 174 为了解决这个问题
  • 使用 jenkins pipeline 插件实现动态并行构建的想法

    我需要并行运行一组构建任务 构建的任务是动态的 可能会发生变化 我需要一些帮助来实现下面的细节 构建的任务详细信息将在 xml 中动态生成 其中包含哪些任务必须并行 串行执行的信息 example 说有一个版本A 其中有以下任务和执行顺序

随机推荐

  • 无法多次重写 jQuery UI 自动完成 renderItem 方法

    它会在找到的第一个自动完成中正确覆盖 但对其余部分不执行任何操作 相反 它加载原始的 renderitem 方法 您可以在以下位置看到https github com jquery jquery ui blob master ui jque
  • 检查 Azure 资源组是否存在 - Azure Powershell

    我试图验证 ResourceGroup 是否存在 所以我认为以下代码应该返回 true 或 false 但它不输出任何内容 RSGtest Find AzureRmResource Format List ResourceGroupName
  • Rails 的 concat 方法和 do...end 块不起作用

    我刚刚读到 Rails 的concat清理在这里输出内容的助手的方法http thepugautomatic com 2013 06 helpers http thepugautomatic com 2013 06 helpers 我尝试了
  • 根据多个架构定义验证 XML 文件

    我正在尝试根据许多不同的模式验证 XML 文件 对人为的示例表示歉意 a xsd b xsd c xsd c xsd 特别是导入 b xsd 和 b xsd 导入 a xsd 使用
  • SQLiteDatabase close() 函数在多线程时导致 NullPointerException

    我在我的项目中发现 Android 上的 SQLiteDatabase 实现中的 close 函数在运行打开数据库 插入数据然后关闭数据库的多个线程时会引发 NullPointerException 一切都运行顺利 除非我允许每个线程在插入
  • 如何在 VBA (Excel 2010) 中将默认情况恢复为变量?

    在某些时候我不小心命名了一个变量range 全部小写 从那时起 Visual Basic for Applications 编辑器拒绝使用Range 帕斯卡大小写 它会自动将其更正为小写 我怎样才能重置它的 大脑 以忘记我过去的违规行为 注
  • ICS 文件内的超链接问题

    我创建了一个 ICS 文件 它有一个文本的超链接 在 Outlook 2013 中 它运行良好 但在其他电子邮件客户端中 它会向我显示完整的 URL 以及超链接文本 请参阅下面的屏幕截图 MAC OS 笔记本电脑 http img en25
  • 段落中每个单词的第一个字母的样式

    我正在尝试使用样式设置段落的第一个字母CSS并想使用 greensock 添加一些动画 但实际上要求是设置每个单词的第一个字母的样式 而不仅仅是第一个字母段落 对此有何建议 想法 p font size 150 color 000000 p
  • 根据url隐藏div

    抱歉 如果这是另一个转发 我一直在尝试寻找解决方案 但我尝试过的任何方法都不起作用 我正在使用一个我可以完全控制 html 的博客 我通常可以找到基本 html 的方法 但当涉及到 Java 或 CSS 时 我完全是个新手 抱歉 我什么都不
  • 获取程序图标

    我正在制作一个类似资源管理器的应用程序来浏览存储在我的计算机上的文件 我的应用程序将处于 图标 视图中 问题是 如何显示exe文件的图标 有几种方法可以做到这一点 最简单的可能是添加对System Drawing并利用Icon Extrac
  • 找不到 unicode 右箭头

    Unicode 中有这些箭头 但它缺少一个正确的 名字应该是这样的RIGHTWARDS BLACK ARROW 但没有该名称的 Unicode 字符 有一些字符看起来很相似 但我找不到合适的匹配项 我正在寻找该集合的右指向字符 基于字符名称
  • 使用 pip 安装 lxml 失败

    我正在尝试使用 pip 安装 lxml 我有 Windows 11 和 Python 版本 python 3 10 2 amd64 我也在使用 Visual Studio Code VSC 我意识到我需要 lxml 从我的 VSC 终端中的
  • 正则表达式/lastIndex - 意外行为

    我知道有一些正则表达式 lastIndex差异 但这对我来说是新的 预期行为 创建一个新的正则表达式 带有文字 构造函数 显然会创建一个带有lastIndex属性设置为零 实际行为 在 FF Chrome 中 lastIndex 属性似乎在
  • 如何从嵌套数据结构(例如解析 JSON)中提取单个值?

    我编写了一些代码来从 Web API 获取数据 我能够从 API 解析 JSON 数据 但得到的结果看起来相当复杂 这是一个例子 gt gt gt my json name ns1 timeSeriesResponseType declar
  • 如何在实体框架中创建表和视图之间的关系

    我有一个由 Visual Studio 2008 向导基于 Sql Server 2008 数据库生成的实体框架模型 该模型有一个视图 该视图在逻辑上通过连接表 通过插入 更新触发器在数据库中强制执行 与另一个表以多对多关系连接 表和视图都
  • 相互比较两个 REST 服务

    有人对编写比较两个 REST 服务的测试有什么建议吗 我们这样做是作为回归测试的一种形式 我希望能做一些类似的事情 向两个服务发送 1 的 GET 并比较结果 向两个服务发送 POST 并比较结果 向两个服务发送 PUT 并比较结果 这个想
  • WPF TextBox 不接受输入,空格和退格键有效

    我在用户控件内有文本框 并使用以下 XAML 将用户控件添加到 MainWindow
  • EventSourcing 应用程序中的用户身份验证

    我正在考虑使用 DDD CQRS EventSourcing 制作一个应用程序 但在弄清楚如何进行用户身份验证时遇到了一些麻烦 用户本质上是我的领域的一部分 因为他们对客户负责 我正在使用 ASP NET MVC 4 并且我希望只使用 Si
  • 多选 jQuery 中 json 的来源

    我有 jQuery 的多选 我想从 json 获取源代码 我从我的自动完成组合框中获取了有效的源代码 但在这里它不起作用 My code document ready function var warning message select
  • 如何获取在从属设备上执行的管道阶段内的 Jenkins 主 IP/主机名?

    我有一个 Jenkins 声明式管道 我在一个阶段进行构建 并在另一阶段在不同的机器上进行测试 我还有一个 Selenium 集线器与 Jenkins master 在同一台机器上运行 pipeline agent none stages