TeamCity在.NET和Ruby项目中的应用
1. TeamCity中的NuGet相关功能
TeamCity提供了三个基于NuGet的构建运行器:
- NuGet Installer :用于安装项目所需的NuGet包。当项目所需的NuGet包未纳入版本控制时,此运行器非常有用。不过,将所有NuGet包添加到版本控制并非理想选择,特别是对于Git和Mercurial等版本控制系统,它们通常不擅长处理二进制文件。但理想情况下,项目构建所需的一切都应进行版本控制,关键在于找到需要版本控制的工具和库的平衡点,其他的可以在构建过程中或通过脚本无缝下载。
- NuGet pack :用于在构建过程中创建NuGet包。可以从 .*proj
文件或描述包的 .nuspec
文件简单构建NuGet包。
- NuGet publish :用于将创建的包发布/推送到NuGet存储库/源。
虽然这些基于NuGet的构建运行器使在持续集成(CI)中执行与NuGet相关的活动变得非常容易,但 NuGet.exe
命令行客户端本身也很简单,理想情况下,应在构建脚本中使用 NuGet.exe
命令,这样构建过程就不会依赖于TeamCity提供的运行器。随着NuGet的包恢复功能通过NuGet命令和MSBuild任务引入,NuGet Installer的需求也被消除了。因此,我们不会使用基于NuGet的构建运行器。
此外,还有NuGet依赖触发器,当