我有关于.NET项目构建服务器的问题。目前我正在使用TeamBuild和TFS 2010一起在.NET世界中进行自动构建。一些较旧的项目是使用普通的MSBuild脚本构建的。
为了摆脱行政工作,我正在将我的资源转移到github。 Github提供了许多其他站点服务挂钩来触发构建服务器以执行CI或夜间构建等自动构建。
当然,我可以使用TeamCity OnPremise并使用VMRole和虚拟磁盘在Windows Azure中动态创建构建代理,但我认为这种混合解决方案有点愚蠢。
那么您对以下建筑理念有何看法?
假设您使用github作为源控制平台。将源提交到存储库时,将触发托管WCF服务的Azure WebRole。 WebRole本身将仅使用Azure API来启动自定义Azure VMRole的新实例。
Azure VMRole本身将使用某种类型的构建脚本(如Rake或MSBuild)来根据需要在构建代理上安装尽可能少的开发人员工具。在构建整个项目之后,工件将发布到Azure BlobStorage,并且将再次调用托管WCF服务的WebRole,但是现在Azure WebRole将终止BuildAgent。
使用这样的设置时,只要您能够使用PowerShell为构建安装所需的元素,就可以最小化构建代理的成本并构建几乎任何类型的项目。
所以在底线:你对这个架构有什么看法?其他想法?是否有现有的服务提供这样的解决方案?
和Thorsten
答案 0 :(得分:9)
答案 1 :(得分:5)
查看Team Foundation Service,因为它可以执行以下操作:
答案 2 :(得分:2)
刚刚发现这个http://www.appveyor.com/ AppVeyor对OpenSource项目也是免费的。