持续整合 CI - Continuous Integration 编译时 NuGet Package 也是要纳入版本管控

持续整合 CI - Continuous Integration 编译时 NuGet Package 也是要纳入版本管控


前置作业

大家都知道无论什么事情要开始时,都一定会有前置作业需要先行准备,才可以让工作“正式”开始时可以比较顺利地执行。当然就算是 CI 也是一样的情况,若是编译的时候少了任何一个文件或是进程都有可能会让编译失败。而,现今因为系统越来越复杂,一堆的 OpenSource 的套件要引用、一堆的 Config 要上版前设定,不像以前只要有一个 RunTime 就可以行遍天下。

所以像是 Visual Studio 为了简化这些困扰和麻烦,所以自动化做了很多事情。像是本机没有 jQuery 套件的话会自动从 NuGet 下载或是更新到最新,引用 Visual Studio 的编译组件会自动指定到目前的版本,所有的 编译脚本几乎只要 F5 一个按键就可以搞定一切了。

就连没有 IIS Host 也没有关系,工具也会自动帮你开启并把系统部署到指定的位置让我们可以执行和调试。但当我们要将以上的事情全部自动化的话,那我们就必须要将前置作业全部准备好让 Team Build 可以顺利执行。

引用 NuGet 套件错误

最常见的问题不外乎就是引用了 Open Source 套件编译上出错,但总不能每次编译都要去 NuGet Server 下载,而且还必须要下载“当时”使用的版本。 ( 若不指定的话会下载最新的版本 )

image

This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them

image

统一纳入版本管控

通常使用 NuGet 下载的套件默认都在建立 packages 的目录统一存放所有的组件,从文件总管可以看出来只有 packages 目录没有纳入版本管控之中。 ( 前面没有绿色三角)

image

如同以前说明的,只要是用 Visual Studio 载入 NuGet 的话,默认是会帮我们自动“加入”到版本管控之中的。只是各位别忘记做“签入 Check in ”啊 微笑

image

签入完成后,马上再由 Team Build 来执行。

image

YES!!编译一切都通过了 

原文:大专栏  持续整合 CI - Continuous Integration 编译时 NuGet Package 也是要纳入版本管控


猜你喜欢

转载自www.cnblogs.com/petewell/p/11452852.html