首页 > 解决方案 > 如何从共享库访问 Jenkins 中的工作区文件

问题描述

我的 jenkins 设置是我在 Windows 上本地环境的主人。

我的 Jenkins 项目使用了 groovy 管道。它使用一个 git repo,其中包含需要在 jenkins 共享库中处理的属性文件。

我不知道如何计算这个属性文件到我的共享库的绝对路径。

我尝试使用相对路径,但共享库未在与工作区相同的上下文中执行。该解决方案需要适用于主/从方案。

我的 git 项目的结构是这样的

/
/properties.json
/assets                           # this folder contains some source code

我在管道中的步骤如下所示

steps {
    bat "ECHO \"Building project\""
    generateJdbcProperties(
        new File('properties.json')
    )
}

我在共享库中获得以下路径:C:\Program Files (x86)\Jenkins\properties.json但我想获得以下路径:C:\Program Files (x86)\Jenkins\workspace\ci-tests。该路径由工作区和我的 git repo 的名称组成,在这种情况下是ci-tests.

我尝试使用 $WORKSPACE 环境变量,但我无法在我的常规代码中正确使用它。

我错过了什么?

标签: gitjenkinsshared-libraries

解决方案


尝试

new File("${WORKSPACE}\\properties.json")

推荐阅读