我有一台Jenkins服务器,我想从中下载构建工件。问题是作业的设置方式,构建工件包括作业号,例如NightlyBuild-346.tar.bz2
。我们喜欢工作号码,因为它们可以让您轻松了解特定构建的年龄。
这有问题,因为我不知道我下载的文件的确切名称 - 我只知道我想要最后一次成功构建。我可以这样做:
- name: download build from CI
get_url:
url: "https://ci.contoso.com/job/NightlyBuild/lastSuccessfulBuild/artifact/NightlyBuild-345.tar.bz2"
dest: /tmp/NightlyBuild-345.tar.bz2
...但是在Jenkins完成下一个夜间构建之后,这将会中断,因为该工件将变为NightlyBuild-346.tar.bz2
。我想我有几个选择:
get_url
模块中使用通配符(不太确定)archive.zip
下载,并使用命令行和正则表达式魔法来查找我关心的实际构建工件。 (潜在的热得难以发现的混乱)这些是我的选择吗?有没有更好的方法来解决这个问题?我想最终发布到Jenkins的Artifactory存储库,如果这是正确的做法,我也很欣赏这方面的一些指示。
答案 0 :(得分:1)
由于02d2d159. Record Number: 00000000.abcdefghijklmnopqrstuvwxyz X
f362711e. Record Number: 00000001.abcdefghijklmnopqrstuvwxyz X
ba957dff. Record Number: 00000002.abcdefghijklmnopqrstuvwxyz X
maven_artifact module可用。该模块通过Ansible 2.0
参数支持maven版本坐标。像这样使用它:
version
答案 1 :(得分:1)
您可以使用uri模块查询Jenkins的内部版本号:
- uri:
url: http://ci/job/NightlyBuild/lastSuccessfulBuild/buildNumber
return_content: yes
register: build_number_resp
- debug: msg="URL with build number http://ci/job/NightlyBuild/lastSuccessfulBuild/artifact/NightlyBuild-{{ build_number_resp.content }}.tar.bz2"