当前位置: 首页 > 面试题库 >

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

弘浩瀚
2023-03-14
问题内容

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

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

NODE_LABELS

工作空间

特定于SCM的变量,例如SVN_REVISION

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

是否有人知道如何在 运行一些将路径存储到某个文件中的批处理脚本的 情况下 获取此路径的信息,以后可以再次读取该文件?


问题答案:

由于管道节点和进程插件的版本2.5(管道插件的组件,默认情况下已安装),因此WORKSPACE环境变量再次可用。该版本发布于2016-09-23,因此应该在所有最新的Jenkins实例上可用。

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"

}


 类似资料:
  • 本文向大家介绍获取Java中目录或文件的绝对路径,包括了获取Java中目录或文件的绝对路径的使用技巧和注意事项,需要的朋友参考一下 方法java.io.File.getAbsolutePath()用于获取字符串形式的文件或目录的绝对路径名。此方法不需要任何参数。 演示此的程序如下所示- 示例 上面程序的输出如下- 输出结果 现在让我们了解上面的程序。 使用方法java.io.File.getAbs

  • 我需要从中的中的代码访问工作目录,比如: 在中我们可以访问它 是否具有等效性? @更新 问题是我需要在文件夹中搜索一些接口的实现。应用程序将在不同的机器上执行,因此我应该有一个路径,该路径将始终导航到文件夹 @update2 我需要在我执行应用程序的文件夹中查找名为的带有

  • 问题内容: 我有一个定义管道作业的DSL groovy脚本。我需要从工作区加载Jenkinsfile。Jenkinsfile与groovy脚本位于同一文件夹中。我正在尝试以编程方式获取groovy脚本的路径,以便可以使用它来找出Jenkinsfile的路径并使用加载它。在经历job- dsl-wiki 之后,我尝试使用指令。但是我收到以下错误: 这是我的DSL脚本 我在这里做错什么了吗?非常感谢您

  • 问题内容: 我已经编写了一个bash脚本,它将输入文件作为参数并读取它。 该文件包含一些路径(相对于其位置),指向所使用的其他文件。 我希望脚本转到包含输入文件的文件夹,以执行更多命令。 那么, 如何从输入文件中获取文件夹(以及仅文件夹)? (在Linux中。) 问题答案: 要获取完整路径,请使用: 要获取文件目录: 您还可以将两者结合起来: 如果您的系统不可用,则可以使用以下*: 请注意,如果只

  • 本文向大家介绍Shell中获取脚本所在目录绝对路径的方法,包括了Shell中获取脚本所在目录绝对路径的方法的使用技巧和注意事项,需要的朋友参考一下 要得到正在执行的程序/脚本自身所存放的绝对路径,在 PHP 里面可以用 dirname(realpath(__FILE__)) ; C# 则有 System.Windows.Forms.Application.StartupPath ; java 似乎

  • 我正在创建一个自定义maven插件。在其中一个mojo中,我使用以下代码段从XML文件中读取一个Xpp3Dom对象: 我正在读取的XML文件(