获取 Jenkins Pipeline 插件中工作区目录的绝对路径

2024-03-18

我目前正在对 Jenkins Pipeline 插件(以前称为 Workflow 插件)进行一些评估。 阅读文档我发现我目前无法使用以下命令检索工作区路径env.WORKSPACE:

目前,以下变量在工作流程脚本中不可用:

节点标签

工作空间

SCM 特定的变量,例如 SVN_REVISION

还有其他方法可以获取当前工作空间的绝对路径吗?我需要运行一些测试,从而获取一些参数(某些可执行文件的绝对路径)。 我已经尝试过使用new File("").absolutePath()里面一个@NonCPS部分,但看起来非 CPS 的东西总是在主服务器上执行。

有谁知道如何走这条路without运行一些批处理脚本,将路径存储到某个文件中,稍后可以再次读入?


从2.5版本开始管道节点和流程插件 https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Nodes+and+Processes+Plugin(Pipeline 插件的一个组件,默认安装),WORKSPACE环境变量再次可用。该版本于 2016 年 9 月 23 日发布,因此它应该可在所有最新的 Jenkins 实例上使用。

Example

node('label'){
    // now you are on slave labeled with 'label'
    def workspace = WORKSPACE
    // ${workspace} will now contain an absolute path to job workspace on slave

    workspace = env.WORKSPACE
    // ${workspace} will still contain an absolute path to job workspace on slave

    // When using a GString at least later Jenkins versions could only handle the env.WORKSPACE variant:
    echo "Current workspace is ${env.WORKSPACE}"

    // the current Jenkins instances will support the short syntax, too:
    echo "Current workspace is $WORKSPACE"

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

获取 Jenkins Pipeline 插件中工作区目录的绝对路径 的相关文章

  • 在 Mac Sierra 上,如何授予 ssh 会话对显示器的访问权限?

    这是后续的使用 Jenkins 运行 ios sim https stackoverflow com questions 13518532 running ios sim with jenkins 当 Jenkins 从机通过 ssh 运行
  • Windows 从属设备上的 Jenkins Git SSH 密钥

    目前 我们在 Windows 上有一个 Jenkins 主服务器 一个 ubuntu 从服务器和一个 Windows 从服务器 我正在尝试在 Windows 从机上设置 git msysgit 已安装 并且我将该目录包含在系统路径变量中 以
  • jenkins构建完成后如何将更改推送到github?

    我有一个 jenkins 作业 它从 github 克隆存储库 然后运行 powershell 脚本来增加文件中的版本号 我现在正在尝试将该更新文件发布回 github 上的原始存储库 因此当开发人员提取更改时 他会获得最新的版本号 我尝试
  • 如何在“构建开始前删除工作区”部分中使用排除文件夹选项?

    我想从删除中排除 node modules 文件夹 但它会删除所有工作区 我已经尝试了很多带有 在目录上应用模式 选项和不使用它的模式 其中一些 node modules node modules 我也发现了一个问题https issues
  • Jenkins 的 Gerrit 触发器找不到任何要构建的修订

    我在使用 Jenkins Gerrit 时遇到问题 这是我到目前为止得到的 Jenkins 中的 Gerrit 触发器配置似乎没问题 当我推送新的变更集时 Jenkins 构建就会启动 我用过这个 Jenkins Gerrit 触发器问题的
  • 如何添加更多数据存储在 jenkins Rest api 中

    为了使问题变得简单 我知道我可以通过以下方式获取一些构建信息https jenkins server https jenkins server api json xml python 我获得了有关该构建记录的大量信息 但是 我想向该构建记录
  • Maven 不能在 jenkins 上运行(但可以通过 eclipse 和命令行运行)

    我有一些 CI 测试 全部在 Maven 中进行 当我在本地 Windows 10 的 Eclipse 中运行它们以及通过 ec2 Linux 服务器中的命令行运行它们时 构建成功 仅当我从 Jenkins 构建相同的项目时 我会收到以下错
  • 詹金斯可以在构建操作之间添加睡眠时间吗?

    我正在 Jenkins 中启动 JBoss 服务器作为构建操作 下一个操作将运行一组测试 我需要在两个操作之间添加睡眠时间 有谁知道如何轻松做到这一点 可以使用sleep进入 Jenkins 管道 该步骤包含在管道 基本步骤 https p
  • Jenkins 安排代理节点可用性

    我们有许多机器希望用作 Jenkins 的代理节点 但仅限于特定的时间间隔 即不在工作时间 是否可以配置一个代理节点作为特定时间范围内构建的代理 例如 周一至周五晚上 10 点至凌晨 5 点 周六和周日全天 In the 从机配置面板 选择
  • PHP启动:无法使用Jenkins加载动态库'/usr/lib/php/20160303/pdo_sqlite.so'

    在 Jenkins 管道中运行 phpunit 测试套件时 我收到此警告 PHP Warning PHP Startup Unable to load dynamic library usr lib php 20160303 pdo sql
  • Jenkins 多分支管道 - 在分支中配置属性?

    我们已经使用 Jenkins 多分支管道插件成功设置了构建管道 该插件在大多数情况下都运行良好 但是我们遇到了一个困扰我们的问题 Jenkinsfile包含一组属性 这些属性也显示在 UI 中 但如何为各个分支设置默认值 这就是我们的属性定
  • Jenkins - Xcode 构建工作协同设计失败

    下面是我的构建脚本 不使用 xcodebuild 插件 构建步骤工程 我使用所需的证书和私钥创建了一个单独的钥匙串 它们在钥匙串访问中可见 脚本中的钥匙串命令不会失败 安全列表钥匙串将这些显示为有效的钥匙串 它的表现就像解锁命令并未真正成功
  • 使用 jenkins.Creating .apk 文件生成 android 版本

    我正在使用 Jenkins 在 mac 上持续集成 android 应用程序 但是我无法使用 Jenkins 生成 apk 文件 就像我们在 iOS 应用程序中创建 ipa 一样 创建用于在 mac 上分发的 apk 文件的配置是什么 您可
  • 具有 Azure Active Directory 身份验证的 Jenkins:REST API 访问不适用于不记名令牌

    我需要使用 python 代码访问 Jenkins REST API 需要一些有关正确方法的指导 我在 apache tomcat 中托管了 jenkins v2 176 1 并启用了 SSL 我已根据以下内容配置了 Azure AD 身份
  • 如何删除 TFS 工作区映射?

    我在一个团队项目中的 tfs 中有一个项目 然后我们将该项目移动到另一个团队项目中的不同位置 我已将 Jenkins 配置为连接到团队项目并构建我的解决方案 但是当我更改设置以连接到新的 tfs 团队项目时 出现以下错误 workspace
  • 访问先前 Jenkins 构建中失败的阶段

    我编写了一个 Jenkinsfile 脚本 它获取当前 Github 提交中的文档是否已更新或代码是否已更新 并相应地启动所有阶段 如果仅更新文档 我不会再次运行代码测试阶段 所以现在如果之前的构建失败并且现在在当前的 Git 提交中仅更新
  • 如何将参数从jenkins传递到selenium

    我正在使用詹金斯和硒 我需要将测试 url 从 jenkins 发送到 selenium 服务器 在常规选项卡下 詹金斯字符串参数 Name APP Default Value http localhost basecode 在构建后操作下
  • Hudson 和电子邮件通知

    我可以覆盖每个作业的 Hudson 设置 系统管理员电子邮件地址 吗 阅读了一些源代码http sorcerer jenkins ci org http sorcerer jenkins ci org and hudson tasks Ma
  • Jenkins 执行 PowerShell 脚本

    我正在尝试从 Jenkins 运行 PowerShell 脚本 但它似乎完全忽略了执行策略 可以通过直接执行 powershell exe 或使用PowerShell插件 https wiki jenkins ci org display
  • 使用 Jenkins 运行 ios-sim

    我正在尝试使用以下命令从命令行启动我的应用程序ios sim https github com downloads pegli ios sim ios sim xcode4 3 tar gz但这就是我得到的 Started by user

随机推荐

  • 使用 JNA 访问包含多个类的 DLL 方法

    我是使用 JNA 从 Java 访问 DLL 的新手 所以如果这对每个人来说都是显而易见的 请原谅我 我需要从 DLL 用 VB 编写 中的类访问方法 并且不能通过仅加载库来完成此操作 因为我看到如何访问其中的类 即该 DLL 名为 CDr
  • Jetpack Compose 不采用 colorScheme

    我有一个用 Jetpack Compose 编写的 Android 应用程序 我正在尝试使用应用程序中定义的 colorScheme 设置图标颜色 但它不起作用 下面是我的代码 Color kt import androidx compos
  • 如何从 Firebase getDocument 函数 (Swift) 中写入变量

    我想读取一个文档 从该文档中获取一个字段 并将一个变量设置为该字段的值 我希望写入在 Firebase getDocument 函数外部声明的变量 实际结果是该变量正在 Firebase getDocument 函数内写入 但在函数外部它为
  • Rails - Active Record:添加额外的选择列来查找(:全部)

    我想添加新列sum time entries hours 到sql选择 我正在查询这样的条目 issues Issue visible where options conditions all include gt status proje
  • Python Flask WTForm SelectField 在验证时具有枚举值“不是有效选择”

    我的 Python Flask 应用程序使用带有内置 python 枚举支持的 WTForms 我正在尝试提交一个表单 POST 其中 SelectField 由枚举的所有值填充 当我点击 提交 时 我收到错误 不是有效的选择 这看起来很奇
  • android.support.design.widget.TextInputLayout 无法实例化

    我想整合android support design widget TextInputLayout在我的安卓应用程序中 我已经复制了jar文件android support design jar从 sdk 到我的应用程序 lib 文件夹 我
  • 将 UserControl 绑定到其自己的 dependencyProperty 不起作用

    我遇到一个问题 当父级将该对象设置为数据绑定时 我无法创建使用自定义对象的属性的用户控件 尝试解释一下我在这里的意思是代码 自定义对象 public class MyObj public string Text get set public
  • 向 Django 管理添加自定义字段

    我已经用各个领域定义了我的模型 其中一些是自定义字段 我使用应用程序的 fields py 文件来验证信用卡数据 来源是here https github com bryanchow django creditcard fields cla
  • Unicorn 与 Ruby 2.4.1 导致奇怪的崩溃

    我正在从 Ruby 2 3 1 升级到 Ruby 2 4 1 这样做后 Unicorn 似乎与新版本不兼容 我收到以下错误 我正在使用 Unicorn 5 1 0 并尝试了 Unicorn 5 3 1 无济于事 我需要使用不同的库而不是 X
  • 树形视图验证

    树视图有叶节点复选框 我需要验证树视图 如果至少检查了一个节点 并且用户可以选择的节点数量不超过特定 例如 3 个节点 注意 Treeview是asp net树视图 不是ajax树视图 好吧 既然你没有提到你想要什么类型的验证 我将同时进行
  • Google 驱动器 - WSL2 中的虚拟驱动器安装

    有谁知道我是否可以在win10系统中的wsl2中安装Google驱动器 虚拟驱动器 谢谢 sudo mount t drvfs G mnt g 第一次这样做时 运行sudo mkdir mnt g first
  • 等待 QueueUserWorkItem 完成

    如果我将作业添加到线程池中QueueUserWorkItem 在所有工作完成之前 如何阻止我的计划继续进行 我知道我可以添加一些逻辑来阻止应用程序运行 直到所有作业完成 但我想知道是否有类似的东西Thread Join 或者是否有任何方法可
  • .NET Core 中的程序集绑定重定向

    如何在 NET Core 中进行程序集绑定重定向 我发现这个问题被问了几次 但没有提供解决方案 情况微不足道 我有一个引用版本 10 中的程序集 A 的包 我想使用版本 12 中的程序集 A 在标准 NET 中 它可以完美地与此配合使用
  • 在运行时隐藏水晶报表中的列?

    如何在运行时隐藏水晶报表中的列 感谢您的任何建议 选项 1 使用条件抑制逻辑隐藏 显示冗余字段 使用参数字段来驱动所需字段的抑制公式 如果您想消除字段之间的空格 则需要将字段堆叠在一起并适当地抑制它们 在您的示例中 第 2 列将包含 fie
  • 通过 CSS 根据高度设置元素宽度

    我有一组元素 要求它们的最小宽度等于它们的高度 但高度没有明确设置 目前我可以通过设置 css 来实现这一点min width通过 jQuery 属性 document ready function myClass each functio
  • Asp.net 图像大小调整质量

    我有这段代码 用于调整和保存用户发布的文件的大小 问题是 当我调整到 480px 宽度时 图像质量会下降很多 而且大小 以 kb 为单位 仍然很大 例如 当我使用 Paint 之类的软件 手动 将同一图像的大小调整为 480px 时 质量仍
  • 如何在全日历中将事件的背景颜色更改为不同的颜色?

    我正在使用最新版本fullcalendar 我查看了文档如何更改背景颜色事件 但我不知道如何处理不同的事件 我需要带有红色 蓝色 绿色事件的代码示例 如下图所示 我在文档网站上看到了这段代码 但我无法应用两种颜色 calendar full
  • 在 check_box_tag 的 onclick 函数中传递 Rails 变量

    我正在使用 Rails 3 0 在我看来 我试图拥有一个每行都有一个复选框的表 以及一个带有特定参数 rails 变量 的 onclick 事件函数 table tr td gt td tr table 我尝试了很多方法 但没有成功 我知道
  • 使用 slick 3.0.0 流结果和 Postgresql 的正确方法是什么?

    我正在尝试弄清楚如何使用流畅的流媒体 我使用 slick 3 0 0 和 postgres 驱动程序 情况如下 服务器必须向客户端提供按大小 以字节为单位 限制的数据块分割的数据序列 因此 我编写了以下巧妙的查询 val sequences
  • 获取 Jenkins Pipeline 插件中工作区目录的绝对路径

    我目前正在对 Jenkins Pipeline 插件 以前称为 Workflow 插件 进行一些评估 阅读文档我发现我目前无法使用以下命令检索工作区路径env WORKSPACE 目前 以下变量在工作流程脚本中不可用 节点标签 工作空间 S