build - 寻找 .NET BuildServer SaaS

我有一个关于 .NET 项目构建服务器的问题。目前,我正在将 TeamBuild 与 TFS 2010 结合使用,在 .NET 世界中进行自动化构建。一些较旧的项目是使用普通的旧 MSBuild 脚本构建的。

为了摆脱管理工作,我目前正在将我的源代码转移到 github。与许多其他网站一样,Github 提供服务 Hook 来触发构建服务器来执行自动化构建,例如 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 安装构建所需的元素即可。

总而言之:您对这种架构有何看法?其他想法?现有的服务是否提供这样的解决方案?

托斯顿

最佳答案

你看过https://appharbor.com吗? ?我知道很多人正在使用它来完成您正在做的事情。

https://stackoverflow.com/questions/8825011/

相关文章:

ios - 项目构建并运行,但不存档

java - 通过 Ant 编译 GWT

android - 我可以从我的 Cordova config.xml 控制 AndroidMani

build - 没有缩小 JS 的 sencha 应用程序构建原生

variables - 如何使用 TFS 构建有条件地跳过或执行任务/步骤?

jenkins - 远程触发构建后检查 Jenkins 作业状态

maven - 构建依赖项时如何使 Jenkins 触发依赖项目的构建

build - 更改 TFS 2010 中构建通知的轮询间隔

javascript - 为什么我的 webpack bundle.js 和 vendor.bund

msbuild - 如何从外部文件中读取属性值?