【问题标题】:Copying artifacts between builds in Team Services在 Team Services 中的构建之间复制工件
【发布时间】:2016-11-03 12:46:05
【问题描述】:

我们的代码被分成多个项目。项目 A 中的库然后由项目 B 使用,然后由项目 C 等使用。但是,我找不到在构建之间共享工件的方法。

所有构建步骤都是关于发布工件,但似乎没有一个是关于下载它们(Jenkins Download Artifacts 除外,这正是我所需要的,而是用于团队服务)。

由于这一切都是在托管代理上完成的,因此我也无法将文件复制到所有构建都知道的位置。

我也尝试过Download Artifacts 扩展,但这个仅适用于发布,不适用于构建。

那么如何将构建 A 中的工件导入构建 B?

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    如果项目位于同一个存储库中,那么您可以拥有一个包含多个构建步骤的构建定义。比如先构建项目A,然后输出到项目B引用的文件夹等。

    如果项目驻留在不同的存储库中,那么它就不那么干净了。但是,Publish Build Artifacts 构建步骤确实具有发布到文件共享的选项。我想您可以在后续项目构建中引用文件共享。

    但是,我强烈建议您稍微改变一下您的方法。如果您有共享项目(例如您的项目 A),那么您可以构建这些工件并将其发布为私有 Nuget Feed。然后,项目 B 可以将私有 Nuget 提要添加为引用包,就像任何其他 Nuget 包一样。然后,这将适用于 VSTS 构建以及本地构建,您可以确定所需的版本等。

    有一个 VS Team Services extension for Package Management 可以帮助您完成此任务。这些参考资料也可能有所帮助:

    【讨论】:

    • 我会试试 NuGet。我得看看它的集成程度,因为这些项目大多是 C++ 并使用 CMake。
    • 考虑到扩展的灵活性(它甚至内置了带有身份验证的 nuget 服务器),这似乎是最好的方法。同时解决了与其他部门共享预建库的问题
    猜你喜欢
    • 1970-01-01
    • 2016-08-22
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多