我一直负责更新公司过时的构建过程。它全部在批处理和perl脚本中完成。目前的构建过程如下:TFS构建和本地构建
- 通过Web界面安排构建。
- 构建服务器将构建过程从队列中取出。
- 构建服务器检出TFS源代码管理中的所有文件。
- 构建服务器运行一些代码注入脚本,在构建之前修改源代码。
- 构建服务器更新版本并签署代码。
- 构建服务器使用visual studio编译项目。
- 完成后,构建服务器将输出压缩并将其放入网络共享位置。
真正困难的部分是代码注入脚本。它们是修改大量代码的3个Perl脚本。它们的设计方式也非常依赖机器。 (所以我不能在没有很多修改的情况下将它们放入构建过程中)
我的最终目标是能够在本地开发机器上运行构建过程,并且还在TFS服务器上运行CI。
在我的搜索似乎没有办法模拟本地机器上的TFS生成。那么我的唯一选择是在我的cs.proj文件中使用pre/post-build命令行脚本吗?还是有更好的方法在本地机器上执行复杂的构建,并在TFS上运行相同的构建?
我看过Using TFS build definitions on a local machine,但这对我来说似乎有点不好意思。如果没有更好的解决方案,我想这不是一个可怕的解决方案。
感谢您的回答。我认为我的游戏计划将会是1和2的混合体。我将创建一套通用的MSBuild脚本,这些脚本是应用程序基本构建所需的。这些常用脚本将在服务器和本地上运行。这将允许开发人员在本地机器上构建和调试应用程序。然后我将拥有一些只能在服务器上运行以进行发布类型任务的自定义活动。 (版本更新和代码签名等)除MSBuild脚本之外,还将运行这些脚本。 –