针对小型.NET开源项目的持续集成

时间:2010-01-02 09:19:53

标签: open-source continuous-integration teamcity

我正在开始一个小型的开源项目,我自己是当时唯一的贡献者。不过,我认为continuous integration设置对于检测我是否破坏了构建是有用的。

是否有免费的托管持续集成服务器适用于非常小的项目?谷歌搜索出现了CodeBetter,但我不确定他们会接受一个刚启动的单人项目。

我更喜欢TeamCity,但我愿意接受建议。

注意 - 托管解决方案对我来说是必须的。我不想设置和维护一个持续集成服务器,所以像“TeamCity”或“CruiseControl”这样的答案根本不相关。

具体要求:

  • 我正在GitHub托管我的项目,因此持续集成服务器需要Git集成
  • 我希望持续集成服务器能够运行.NET集成(单元)测试
  • 很高兴 - 我还需要访问MySQL服务器(虽然我可以修改测试以使用嵌入式SQLite,但它们目前针对外部MySQL服务器运行。)

10 个答案:

答案 0 :(得分:14)

AppVeyor与Github完美集成,免费开源项目,非常容易设置。

使用YAML或UI配置构建。免费帐户一次仅限一个版本。支持部署到NuGet,以及项目和帐户源。它与GitHub深度集成,例如允许创建版本。它支持构建矩阵,AssemblyInfo修补,滚动构建,构建优先级,状态标记,构建通知等。


Travis是众所周知的CI(到目前为止似乎是most popular hosted CI),现在也是supports building C#, F# and VB projects。需要注意的是,它仅支持Linux和Mono,并且处于测试阶段(“可能随时被删除或更改”)。


MyGet是托管包服务器,但现在它也支持构建服务(当前预览)和other features。它对于公共源(最多500 MB)是免费的,并且对approved open-source projects(更大的存储和图库)具有稍微更好的功能。构建服务针对包进行了优化:NuGet feed,MyGet feed,SymbolSource集成等。

答案 1 :(得分:10)

现在由Microsoft Team Foundation Server为免费提供最多5人的团队。

它提供:

  • 源代码管理:TFS,Git
  • 敏捷规划:敏捷,Scrum,CMMI
  • 持续构建
  • 协作
  • 集成
  • 测试执行
  • 部署

Visual Studio Team Services不需要托管代码,code can be pulled from GitHub或任何Git存储库。

如果项目很小且没有复杂的构建要求,Hosted pool可用于执行CI构建。有几个限制:可用的软件,一次一个构建,一个小时的时间限制等。如果还不够,您可以通过在您的计算机上运行脚本来添加自己的构建代理。

GitHub支持未满(例如,未构建拉取请求),但支持大多数功能。 Shields.io尚不支持VSO,但可以使用自定义屏蔽。

开源项目的主要缺点是构建日志,测试结果和其他数据不会公开。只有五个用户可以通过免费帐户访问该项目。有一个suggestion on UserVoice可以使公共项目成为可能。

答案 2 :(得分:4)

我知道线程已经很老了,但对于仍然在寻找答案的人们,我建议您查看AppHarbor

设置与Github和Bitbucket的集成非常容易,并且您可以通过“addon”选项免费获得基本的数据库连接。

初创公司非常方便。

答案 3 :(得分:2)

另请参阅CodeHaus:

http://codehaus.org/

他们使用Atlassian的Bamboo CI软件。

没有意见 - 因为我从未使用它。

答案 4 :(得分:1)

我认为您不会轻易找到真正的免费(我的意思是任何项目,任何语言)托管CI服务,因为这样的服务非常CPU,RAM,磁盘密集这意味着具体的规则,硬件,定价。

对于某些优惠,请在此处查看Outsourcing Continuous Integrationthis question。我没有详细查看所有解决方案,因此我不知道它们是否符合您的要求(语言,工具和定价)。

或尝试加入forge为开源项目提供持续集成,例如 The Codehaus 编辑:不是.NET项目AFAIK的选项)或{ {3}}。这肯定需要一些努力才能让你的项目被接受(实际上很少有恕我直言),但这可能是你最好的选择。

答案 5 :(得分:0)

我刚刚开始使用OnCheckin:

https://oncheckin.com/

它们专门提供.NET项目。

答案 6 :(得分:-1)

也许正确的答案是有人为这类东西制作一套EC2图像,因此用户既可以使用亚马逊,也可以在防火墙内的Eucalyptus上构建自己的云,如果他们是偏执的......但是在任何一种情况下,您都可以节省构建这些图像的时间和成本。

答案 7 :(得分:-1)

MikeCI是一种经济实惠的托管CI服务,每月10美元,您可以在几分钟内完成云构建。它目前支持Ruby,Maven和Ant。它有一个免费的30天试用版,所以你可以尝试它,看看它是什么样的。我个人认为这很棒,而且我认为他们希望支持.Net和Objective C!

这是他们的网站http://www.mikeci.com

答案 8 :(得分:-1)

我知道这可能是一个旧线程,但是

这是另一种选择:

结帐Jenkins

它确实支持我现在正在使用的Jenkins.NET

这是另一个SO-RELATED-THREAD:TFS 2008/2010 vs Jenkins for Continuous Integration

答案 9 :(得分:-2)

RunCodeAt,Pascal的评论指出了我。与github集成非常容易,我碰巧接收了我的项目。我试试看。