2016-06-15 17 views
8

Groovyパイプラインスクリプトを使用してJenkins Buildの現在のワークスペースを取得しようとしています。実行している場合Jenkins Pipeline Groovyスクリプトを使用して現在のワークスペースを取得する方法は?

sh 'pwd > workspace' 
workspace = readFile('workspace').trim() 

または(:

node('master') { 
// PULL IN ENVIRONMENT VARIABLES 
// Jenkins makes these variables available for each job it runs 
def buildNumber = env.BUILD_NUMBER 
def workspace = env.WORKSPACE 
def buildUrl = env.BUILD_URL 
// PRINT ENVIRONMENT TO JOB 
echo "workspace directory is ${workspace}" 
echo "build URL is ${env.BUILD_URL}" 
} 

それは

[Pipeline] Allocate node : Start 
    Running on master in /Users/Shared/Jenkins/Home/jobs/test/workspace 
    [Pipeline] node { 
    [Pipeline] echo 
    workspace directory is null 
    [Pipeline] echo 
    build URL is http://localhost:8080/job/test/5/ 
    [Pipeline] } //node 
    [Pipeline] Allocate node : End 
[Pipeline] End of Pipeline 
    Finished: SUCCESS 
+1

https://issues.jenkins-ci.org/plugins/servlet/mobile#issue/JENKINS-33511 –

+1

[Jenkins Pipelineプラグインのワークスペースディレクトリへの絶対パスを取得する](http://stackoverflow.com)/question/36934028/get-absolute-path-to-workspace-directory-in-jenkins-pipeline-plugin) –

答えて

4

あなたは方法シェルアウト読み取りファイルを使用する必要があるので、何の変数はまだそのために含まれていないがありますが返されますon master node):

workspace = pwd() 
+0

readFile()の結果をtrim()するのを忘れないでください。そうしないと、どこにもない。 – Chadi

+0

ありがとう!!!!!!働いています – vijay

2

私はy OUはまた、特定のノード上のPWD()関数を実行することができます:「ワークスペース」私にとって

node { 
    def PWD = pwd(); 
    ... 
} 
5

ちょうど「$ {ワークスペースは}」でも、変数を初期化せずに働きました

+2

私も大文字の '$ {WORKSPACE}'でしか動作しません。 '$ {workspace}'は – Rhubarb

+1

ではありません。 :) –

関連する問題