从Bamboo Ondemand下载文物

时间:2014-06-26 11:53:20

标签: bamboo jira-ondemand

我正在尝试使用Bamboo OnDemand构建和部署.NET Web应用程序。已成功构建,但我正在努力寻找一种方法将工件部署到我们的内部服务器之一。我无法打开防火墙。

我尝试了Bamboo CLI's getArtifact命令,但它只能下载指定的文件,而不是整个包。我也找不到一种方法来压缩onDemand上的工件,所以我可以使用上面的命令。

如果有人克服了类似情况,那么请帮忙。任何线索/建议将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

实现这一目标的方法很少,这里有一对。这两个选项都要求您在服务器上使用zip工具进行压缩。我使用7za.exe(命令行版本7zip

将此文件签入存储库,以便Bamboo使用您的源下载它,您可以从脚本或msbuild访问它

1 - 在构建任务之后添加脚本任务。我将它作为PowerShell内联脚本运行,类似于:

Start-Process -FilePath "bamboo.build.working.directory\7za.exe" -ArgumentList "a","pathToYourArchive.zip", "folderToZip\*" -NoNewWindow -Wait 

添加一个压缩构建输出的脚本任务,并将其放在您配置为构建工件的位置。

2 - 在msbuild中自定义发布版本配置以进行压缩

修改.csproj文件,并取消注释AfterBuild目标。使用Exec任务启动7za,或使用自定义任务,例如msbuild extension pack

1可能是更快的选项,但作为一种最佳实践,我会将任何脚本放入源控制的ps1文件中,然后修改脚本以调用ps1文件。这样您就可以对构建代码进行版本化。