使用curl从Go cd Artifactory获取另一个版本的文件

时间:2017-06-30 13:39:56

标签: curl artifactory go-cd

我想从另一个版本的go cd下载文件(让我们称之为BUILD_A)并在我的Master版本(BUILD_B)上使用它。为此,我使用curl从Go cd Artifactory中获取文件。

curl -u${user_name} -O "path/to/artifactory/xxx/builds/BUILD_A/${GO_PIPELINE_LABEL}/filename.xxx"

现在问题在于BUILD_B将$ {GO_PIPELINE_LABEL}解释为自己的构建而不是BUILD_A中的构建号。因此,如果BUILD_A为65且BUILD_B为1001,则它将采用BUILD_B,最终它将如下所示。

curl -u${user_name} -O "path/to/artifactory/xxx/builds/BUILD_A/1001/filename.xxx"

BUILD_A在curlpath中是硬编码的。

所以我的问题是,是否有可能从Artifactory中的另一个版本和最新的build_number获取文件?

1 个答案:

答案 0 :(得分:0)

有一些插件可以轮询诸如Artifactory之类的存储库,以获取GoCD的更新工件,例如:

https://github.com/1and1/go-maven-poller

go-maven-poller插件提供了一个环境变量,其中包含用于CURL的工件的URL。

(免责声明:我是该插件的维护者)

如果不需要Artifactory作为源,则应留在GoCD内,并从BUILD_B中的BUILD_A获取管道构建结果。原因是轮询将使您浪费时间。

使用另一个管道作为材料包括:

  • 将BUILD_A作为材料添加到BUILD_B
  • 在BUILD_B中添加一个获取工件任务,以实际“拉动”工件。

有关更多信息,请参见here