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

标签 groovy jenkins

我有一个非常类似的问题:Reading file from Workspace in Jenkins with Groovy script

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

如何从系统Groovy脚本获取工作区路径?我尝试了以下方法:

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

谢谢!

最佳答案

每个构建都有一个工作区,因此您需要首先找到所需的项目。 (在 Jenkins 中,术语“工作”和“项目”在API中也是可以互换使用的。)

之后,您可以交叉手指,仅调用已弃用的getWorkspace()(有关详细信息,请参见JavaDoc)。

或者,您可以找到一个特定的构建(例如最后一个构建),它可以通过getWorkspace()类中定义的AbstractBuild方法为您提供用于该特定构建的工作空间。

示例代码:

Jenkins.instance.getJob('<job-name>').lastBuild.workspace;

关于groovy - 使用System groovy脚本从Jenkins工作区读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23636436/

相关文章:

jenkins - @NonCPS 在 Jenkins 管道脚本中的作用是什么

jenkins - 如何使用配置文件提供程序插件从 Jenkins 管道内的配置文件中读取属性

docker - 在 Jenkins 代理 docker 镜像(使用 Kubernetes 插件)中运行 karma 测试时,ChromeHeadless 挂起

java - 任何 Javascript Regex ReplaceAll 都像 Groovy 一样由匿名函数实现吗?

grails/gorm 在 1 - 许多关联中支持不同的父实体

ios - Unity3d 命令行自动构建未运行构建后

heroku - 运行heroku rake db :migrate from a Jenkins build fails

java - 有没有办法告诉maven它应该执行哪个testClass

grails - GRAILS:groovy.lang.MissingPropertyException:没有此类属性。

java - Grails 上的 NoClassDefFoundError GANT 脚本