web-dev-qa-db-fra.com

Comment obtenir le chemin absolu d'un fichier (depuis un espace de travail) dans un script de pipeline Jenkins (dans un environnement Windows)

Comment obtenir le chemin absolu d'un fichier (depuis un espace de travail) dans un script de pipeline Jenkins (dans un environnement Windows)

Emplacement des fichiers (Les fichiers sont extraits de Git et Jenkinsfile2.nprd aura le script de pipeline groovy):

C:/Program Files (x86) /Jenkins/workspace/dev-my-api/my-data-api/my-data-api/pom.xml espace de travail/dev-mon-api/mes-données-api/Jenkinsfile2.nprd

Script:

 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
                }
            }
        }
}

Sortie:

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 

Chemin requis:  

C:/Fichiers de programme (x86)/Jenkins/espace de travail/dev-mon-api/mon-données-api

Comment obtenir le chemin requis ci-dessus dans un script de pipeline Jenkins sans codage dur?

3
pomPath = findFiles(glob: "**/$pomFile")[0].path
env.WORKSPACE = pwd()
def projectName = new File(pomPath).parent
baseDir = "${env.WORKSPACE}/$projectName"

Je suis capable d'obtenir le chemin requis. Mais chercher une solution plus propre.

1

Essayez ce qui suit (recherchez le chemin relatif pom.xml et obtenez le chemin complet)

 def pomPath = findFiles(glob: "**/pom.xml")[0].path
 echo new File(env.WORKSPACE, pomPath).getParent() +"\pom.xml"
0
Chids

Peut-être juste:

new File(env.WORKSPACE, pomPath).getParent() 

0
Krzysztof Atłasik