目前我们使用TFS作为源代码控制。我们已经配置了与TFS的持续集成及其正常工作。但现在我们决定将我们的项目转移到GitHub。
它的ASP.NET MVC项目,我们已经有了Msbuild的proj文件来构建项目并创建输出。 现在 以某种方式 当有人将代码推送到远程存储库时,我们需要自动运行proj文件。我并不担心部署代码。
我看到GitHub有两个选项:
Webhooks:我想我们必须创建自己的服务,接受" POST"请求然后在我们自己的构建服务器上托管服务。该服务将负责将最新代码提取到构建服务器上的本地存储库并执行proj文件。
GitHub上提供的集成工具很少,但我不确定哪一个可以与MSBUILD一起使用。有关集成工具的任何建议,特别是对于ASP.NET MVC项目? https://github.com/integrations/feature/build
有关这两种方法的任何建议吗?
答案 0 :(得分:2)
如果你正在使用TFS Build 2015,那只是couple of clicks的问题:
如果您不打算使用TFS Build,但又想选择其他构建服务器,那么市场上有很多选择。
例如,您可以选择AppVeyor。这是一个云计算CI服务,它与GitHub开箱即用,可以轻松构建.NET解决方案。它使用WebHooks来触发构建过程。
假设您想拥有自己的CI服务器。作为.NET的解决方案,我可以推荐TeamCity,但您也可以使用Jenkins。两者都与GitHub集成,两者都可以构建.NET代码。
我对TC更熟悉,所以我将解释如何配置它。
TeamCity Pro is free for小团队。
您可以找到分步示例here。它有点过时(文章写于2013年),但它仍然是一个不错的教程。
+:refs/heads/*
都可以。.sln
文件的路径。Jenkins的步骤为slightly different,但也不是太复杂。
TC的最小轮询间隔是一分钟。如果您同意等待,或者您的TC实例未公开(安装在防火墙后面),请使用此选项触发构建。
如果您想要几乎即时构建并且您的构建服务器具有公共访问权限,您可以选择WebHook选项。当有人推送代码或标签时,GitHub会通知您的CI服务器。
答案 1 :(得分:0)