当前位置: 首页 > 知识库问答 >
问题:

如何在Jenkins管道脚本中(windows环境下)获取文件的绝对路径(来自工作区)

戚阳文
2023-03-14

如何在Jenkins管道脚本中(windows环境下)获取文件的绝对路径(来自工作区)

文件位置(这些文件从Git签出,Jenkinsfile2.nprd将具有groovy管道脚本):

 stages {
        stage('Setup')  {
            steps {
                script {
                  pomPath = findFiles(glob: "**/pom.xml")[0].path
                  env.WORKSPACE = pwd()
                  pomDir = bat(script: "for %%F in ($pomPath) do set dirname=%%~dpF", returnStdout: true).trim()
                  echo "env.WORKSPACE:" + env.WORKSPACE
                  echo "pom file path:" + pomPath
                  echo "pom directory****:" + pomDir
                }
            }
        }
}
env.WORKSPACE:C:\Program Files (x86)\Jenkins\workspace\dev-my-api
pom file path:my-data-api\pom.xml
pom directory****:C:\Program Files (x86)\Jenkins\workspace\my-data-api>for %F in (my-data-api\pom.xml) do set dirname=%~dpF 

C:/程序文件(x86)/Jenkins/workspace/dev-my-api/my-data-api

如何在没有硬编码的情况下在Jenkins流水线脚本中获得上述所需路径?

共有1个答案

欧阳正卿
2023-03-14

尝试以下操作(查找pom.xml相对路径&获得完整路径)

 def pomPath = findFiles(glob: "**/pom.xml")[0].path
 echo new File(env.WORKSPACE, pomPath).getParent() +"\pom.xml"
 类似资料:
  • 问题内容: 我目前正在对Jenkins Pipeline插件(以前称为Workflow插件)进行一些评估。阅读文档后,我发现当前无法使用以下方法检索工作空间路径 : 以下变量当前在工作流脚本中不可用: NODE_LABELS 工作空间 特定于SCM的变量,例如SVN_REVISION 还有其他方法如何获取当前工作空间的绝对路径吗?我需要运行一些测试,该测试又得到一些参数(某些可执行文件的绝对路径)

  • 本文向大家介绍JS获取当前脚本文件的绝对路径,包括了JS获取当前脚本文件的绝对路径的使用技巧和注意事项,需要的朋友参考一下  当写模块加载器时,获取当前脚本文件的绝对路径作为基础路径是必不可少的一步,下面我们一起来探讨一下这个问题吧! 一、各大浏览器的实现方式                  [a]. Chrome和FF  超简单的一句足矣! 这里利用了对象 document.currentSc

  • 问题内容: 给定路径,例如,我如何找到相对于Python中当前工作目录的文件的绝对路径?例如在Windows上,我可能会得到以下结果: 问题答案: 如果已经是绝对路径,也可以使用:

  • 我正试图在我的Android应用程序中导入sky.csv文件。 请帮我做这个。我试过这么多方法。然而,我没有得到任何适当的解决办法。

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

  • 问题内容: 嗨,我需要使用FileInputStream读取文件,但是我没有获得正确的路径。我的文件位于C:\ Users \ tester \ Documents \ Java Project \ Samples \ ProjectOne \ src \ pdfReader中。但是,当我使用以下代码时,我得到的错误路径是“ / C:/ Users / tester / Documents / J