使用 System Groovy 脚本从 Jenkins 工作区读取文件

2024-03-02

我有一个与此非常相似的问题:使用 Groovy 脚本从 Jenkins 中的工作区读取文件 https://stackoverflow.com/questions/22917491/reading-file-from-workspace-in-jenkins-with-groovy-script

但是,我需要从系统 Groovy 脚本读取文件,因此使用 Text-finder 或 Groovy PostBuild 插件的解决方案将不起作用。

如何从系统 groovy 脚本获取工作空间路径?我已经尝试过以下方法:

System.getenv('WORKSPACE')
System.getProperty("WORKSPACE")
build.buildVariableResolver.resolve("WORKSPACE")

Thanks!


如果您的目录中有一个名为“a.txt”的文件工作区,以及一个名为“sysgvy.groovy”的脚本,您希望将其作为系统 groovy 脚本执行。假设您的“sysgvy.groovy”脚本需要读取文件“a.txt”。

本主题的问题是,如果您的脚本直接读取“a.txt”而不提供任何路径,则“sysgvy.groovy”执行并会抛出错误,指出找不到“a.txt”。

我测试了一下,发现下面的方法效果很好。

def build = Thread.currentThread().executable

然后使用

build.workspace.toString()+"\\a.txt"

作为替换“a.txt”的完整位置字符串。

通过将“a.txt”和“sysgvy.groovy”放置到 Jenkins 主计算机的工作区中来在 Jenkins 主计算机上运行也很重要。在从机上执行不起作用。

尝试一下,应该可以找到该文件并在脚本中读取该文件,没有任何问题。

如果变量Thread有问题,那只是需要导入一些模块而已。因此,将这些行添加到代码的开头:

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

使用 System Groovy 脚本从 Jenkins 工作区读取文件 的相关文章

随机推荐

  • lambda 捕获是否支持可变参数模板参数

    如果我能做到以下几点那就太好了 template
  • 使用 CATransition 的过渡 CIFilter

    我正在尝试使用CATransition s filter属性与新的 iOS 6 过渡动画 CIBarsSwipeTransition CICopyMachineTransition 等 这CIFilter文档 http developer
  • 如何使表格单元格的内容垂直溢出而不扩大表格单元格的高度?

    我有一个表格单元格div里面 我想要div溢出到表格单元格之外 我怎样才能做到这一点 需要明确的是 我不希望表格单元格随着div 下面的代码是我尝试过的 但它不起作用 HTML table tr class row td class cel
  • 如何在 F# 中使用 WPF 菜单和对话框?

    我一直在尝试寻找使用 XAML 和 F 无需 C 来设置传统菜单和对话框的示例 我在网上能找到的所有内容要么使用 C 要么在最新版本的 F 和 NET 之前就很旧了 谁能建议一个我可以看的例子 谢谢 当您尝试学习 WPF 时 您会遇到许多基
  • 从 C# 中的参数属性访问对象值

    这是我的方法 public Component SaveComponent ValidateMetaFields Component componentToSave 这是我的自定义属性 AttributeUsage AttributeTar
  • 如何从 gRPC 客户端获取状态代码 OK 响应

    当 python 响应成功时 我尝试从 gRPC 中的客户端获取状态代码 与 REST API 类似response status code 200 我需要断言这是一次成功的通话 我尝试通过这样做来解压响应 这是代码结构 不是实际的结构 r
  • Oracle中如何通过SQL获取表注释?

    我试过了 select from user tab comments 它返回 3 列 TABLE NAME TABLE TYPE 和 COMMENTS 但 TABLE NAME 列就像 加密 我需要明确的表名称 TABLE NAME TAB
  • Angular-cli 8 - 是否可以仅在 es2015 上构建?

    在 angular cli 版本 8 中 构建完成了 2 次 一个在 es5 中 一个在 es2015 中 是否可以只在es2015上构建 将目标更改为es5 仅在es5中完成 但我还没有找到仅在es2015中执行此操作的方法 如果您更新您
  • Android 中 onDestroy() 的使用

    如果Java提供了垃圾收集 那么Activity生命周期中还需要onDestroy 吗 onDestroy 您的 Activity 被销毁之前收到的最后一个调用 发生这种情况的原因可能是活动即将完成 有人对其调用 finish 也可能是因为
  • Tensorflow Bow 编码器说明

    有人可以向我解释一下 Tensorflow BoW 编码器正在做什么 返回什么吗 我希望获得每个文档的字数向量 就像在 sklearn 中一样 但是 显然它正在做一些更奇特的事情 在这个例子中 https github com tensor
  • MongoDB Scala - 查询文档中的特定字段值

    所以我知道在 Mongo Shell 中 您可以使用点表示法来获取任何文档中所需的字段 MongoDB Scala 中的点表示法是如何实现的 我对它是如何工作的感到困惑 以下是从集合中获取文档的代码 val record collectio
  • Chrome 扩展本机消息同步

    我在 Windows 上的本机消息同步有问题 我正在尝试同步backgroundPage 和hostApp 之间的消息 通常 我们使用这样的原生消息传递 popup js function appendMessage text docume
  • 由于 SYS_OP_C2C 内部转换,Oracle SQL 执行计划发生变化

    我想知道为什么这个查询的成本 select from address a left join name n on n adress id a id where a street 01 高于 select from address a lef
  • LongListSelector:项目点击?

    我在 Windows Phone 8 上使用 LongListSelector 控件 但无法找出处理项目点击的最佳方法 我发现的几个示例依赖于 SelectionChanged 事件 但是 这个解决方案有问题 因为如果我点击一个打开新页面的
  • 使用 cx_freeze 和 pandas 在 dateutil/zoneinfo 上出现错误 3

    当我尝试使用 cx freeze 编译 hello py 文件时 pandas 0 15 2 出现以下错误 但 0 15 1 没有错误 有人知道如何纠正它吗 我已使用 include files 函数包含 dateutil zoneinfo
  • SVN 是否允许 svn auth 文件规则的路径中存在空白?

    目前 我们遇到了包含空白且属于 svn auth 文件中的规则一部分的目录的问题 因此 我们希望拥有基于路径的授权 并拥有一个包含以下内容的文件 rw junk of me me rw 当我清除身份验证数据并签出存储库的根目录时me 我看到
  • 使用 PHPUnit 测试数组是否包含值

    我创建了这个对象数组 ad 1 new AdUnit array id gt 1 name gt Ad 1 description gt great ad code gt alpha widget id gt 123 ad 2 new Ad
  • 如何计算 Neo4j 中的排名

    我有两种类型的节点 游戏玩家 和一种关系 已玩 PLAYED关系就是拥有一个属性 点 样本数据 玩家 309274 获得10分玩家 309275 获得20分玩家 309276 获得30分玩家 309277 获得40分玩家 309278 获得
  • 使用 long double 或仅使用 double 来计算 pi?

    我正在使用冗长的公式计算 pi 我试图更熟悉浮点数等 我有一个使用双精度数的工作程序 我的代码的问题是 如果我使用双精度数 则 pi 只能精确到小数点后第七位 我无法得到更准确的信息 如果我使用 long double 则 pi 精确到小数
  • 使用 System Groovy 脚本从 Jenkins 工作区读取文件

    我有一个与此非常相似的问题 使用 Groovy 脚本从 Jenkins 中的工作区读取文件 https stackoverflow com questions 22917491 reading file from workspace in