使用Artifactory的MSBuild/TFS:优化.NET生态系统中的构建自动化和持续集成

构建自动化和持续集成系统已经成为软件开发中的最佳实践。有各种各样的工具和产品可以满足当今常用的许多不hth华体会最新官方网站同的开发平台,但是在Microsoft . net生态系统中开发时使用的事实上的标准是带有Team Foundation Server的MSBuild。

为了补充对NuGet包的支持,Artifactory通过MSBuild Artifactory Plugin提供了与这些工具的紧密集成。通过这个插件,您可以使用Artifactory来解决构建的依赖关系,并将构件部署到本地构建存储库。

本文介绍了通过Artifactory运行MSBuild/TFS构建的一些好处。

Artifactory是开发人员或构建服务器与外部资源(如NuGet Gallery)之间的中介。2022世界杯阿根廷预选赛赛程它通过在本地缓存远程构件,使您能够快速且一致地访问它们远程存储库.一个典型的项目可能依赖于来自外部资源的数十个(如果不是数百个)工件。2022世界杯阿根廷预选赛赛程对于构建这些项目的服务器,所有远程构件必须对MSBuild环境可用。下载所有这些必需的工件可能会在网络上产生千兆字节的数据流量,这会花费大量的时间来延迟构建过程。通过在本地缓存远程工件,构建过程会导致更少的网络连接,因此会更快。

TFS白皮书方案1

远程存储库

远程存储库用作在远程站点(如NuGet Gallery)管理的存储库的缓存代理。工件根据控制缓存和代理行为的各种配置参数在远程存储库中存储和更新。

对远程工件的可靠访问

由于Artifactory在您的本地网络上维护远程工件的本地缓存,因此您的构建独立于外部网络问题,并且如果远程资源宕机也不会受到影响。构建所需的任何工件都可以从本地缓存(即远程存储库)中获得。即使在远程资源完全不存在的极端情况下,以前下载的任何工件都可以从缓存中随时获得。

完全可复制的构建

通过Artifactory在你的MSBuild/TFS生态系统中运行构建的另一个巨大优势是Artifactory生成的详尽的构建信息。此信息与构建一起上传到本地存储库,并包括特定的工件版本、依赖项、系统属性、环境变量、用户信息、时间戳等等。有了这些信息,在任何时候都很容易忠实地重现一个构建,并且使用内置的“Diff”工具,您可以比较构建,从而确切地知道从一个版本到另一个版本引入了哪些更改。当试图追踪发布的特定版本中报告的错误时,这些功能是非常宝贵的。

msbuild

总结

通过Artifactory在您的MSBuild/TFS持续集成生态系统中运行构建,您可以克服网络和远程存储库的可靠性带来的挑战,并享受完全可复制构建的好处。考虑到现代自动化系统可能每天运行几次构建,这将极大地提高生产力。由于Artifactory对它所管理的二进制类型是不可知的,因此它可以为目前常用的几乎所有打包格式优化构建自动化和持续集成。

要么快速释放,要么死亡