2017-04-25 12 views
1

jifkinsパイプラインプラグインを使用して、私のartifactoryサーバーからWindows jenkinsスレーブノードにビルドをダウンロードする際に問題があります。すべてはうまくいくとと表示されますが、実際にファイルをダウンロードするわけではありません。私は何か間違っているのですか?Jenkins pipeline + Artifactoryダウンロードがダウンロードされない

私のArtifactoryシステムログにアップロードするだけでダウンロードするリクエストはありません。

(2017-04-25 18:39:48,096 [http-nio-8081-exec-2] [情報](oaeUploadServiceImpl:516) - 'BUILDS:windows/5840/build.tar.gz 「コンテンツの長さ:278600525)

私はリファレンスとしてこれを使用してきた:https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=99910084


は、ここに私のジェンキンスパイプラインからの出力です:

For pattern: build.tar.gz 1 artifacts were found. 
Deploying artifact: http://myartifactory:8081/artifactory/BUILDS/windows/5840/build.tar.gz 
[Pipeline] } 
[Pipeline] // stage 
[Pipeline] } 
[Pipeline] // node 
[Pipeline] timeout 
Timeout set to expire in 3 min 0 sec 
[Pipeline] { 
[Pipeline] node 
Running on test-windows-0 in C:/jenkinsroot/workspace/test-windows 
[Pipeline] { 
[Pipeline] stage 
[Pipeline] { (Test) 
[Pipeline] echo 
{ 
     "files": [ 
       { 
        "pattern": "BUILDS/windows/5840/build.tar.gz", 
        "target": "download/", 
       } 
      ] 
     } 
[Pipeline] echo 
Artifactory Download: BUILDS/windows/5840/build.tar.gz -> download/ 

ファイルがartifactory上に存在します。呼ばれ

@NonCPS 
def downloadArtifactory(String localPath, String repository, String remotePath) { 

    def downloadSpec = """{ 
     "files": [ 
       { 
        "pattern": "${repository}/${remotePath}", 
        "target": "${localPath}", 
       } 
      ] 
     }""" 

    echo "${downloadSpec}" 

    echo "Artifactory Download: ${repository}/${remotePath} -> ${localPath}" 

    def server = Artifactory.server("MYARTIFACTORYSERVER") 
    def buildInfo = server.download spec: downloadSpec 
    return buildInfo 
} 

downloadArtifactory("download/", "BUILDS", "windows/5840/build.tar.gz") 
+0

echoステートメントからは、あなたのdef downloadSpecがdownloadSpecという空の変数を作成しているようです。おそらく、spec文の冒頭にある3重引用符が混乱していて、最初の2つの引用符だけが空文字列に割り当てられているだけです。 – Tuffwer

+0

@Tuffwer:downloadSpec変数を印刷しているようですが、これはいいですか?私はアップロードのために同じフォーマットを使用します。私は混乱しています:) – Jordan

+0

あなたは正しいです。私は余分なエコーステートメントをそこに読んでいます。あなたが言及したページを見た後、私はあなたがダウンロードを別々に呼び出す必要があるかどうか疑問に思っています。このページでダウンロードを実行する例は 'server.download(downloadSpec)'です。 – Tuffwer

答えて

4

NonCPS注釈が問題を解決する必要があります削除


ここに私のジェンキンスコードです。
this Jenkins issueのように、Artifactory JenkinsプラグインはNonCPSをサポートしていません。

+0

ありがとうございました! – Jordan

関連する問題