我们的代码分为多个项目。项目A的库然后由项目B使用,然后由项目C等使用。但是,我找不到在构建之间共享工件的方法。
所有构建步骤都是关于发布工件,但似乎没有关于下载工件(Jenkins下载工件除外,这正是我需要的,但对于团队服务而言)。
由于这一切都是在托管代理上完成的,我也无法将文件复制到所有版本都知道的位置。
我也尝试了Download Artifacts扩展,但这只适用于发行版,而不适用于版本。
那么如何将构建A中的工件从构建B中获取?
答案 0 :(得分:1)
如果项目位于同一个存储库中,那么您可以拥有一个具有多个构建步骤的构建定义。例如,首先构建项目A,然后输出到项目B等引用的文件夹
如果项目位于不同的存储库中,那么它就不那么干净了。但是,Publish Build Artifacts构建步骤可以选择发布到文件共享。我想你可以在后续项目构建中引用文件共享。
然而 ,我强烈建议您稍微改变一下。如果您有共享项目(例如项目A),那么您可以构建这些工件并将其作为私有Nuget Feed发布。然后,项目B可以将私有Nuget提要添加为引用包,就像任何其他Nuget包一样。然后,这将适用于VSTS构建以及本地构建,您可以确定所需的版本等。
有一个VS Team Services extension for Package Management可以帮助您实现这一目标。这些参考资料也可能有所帮助: