持续集成为一个小的.NET开源项目
我正在开始一个小型的开源项目,我自己是当时唯一的贡献者。 不过,我认为持续集成设置对于检测是否打破构build很有用。
是否有免费的,托pipe的持续集成服务器适用于非常小的项目 ? 谷歌searchCodeBetter ,但我不确定他们会接受一个刚刚启动的单人项目。
我更喜欢TeamCity ,但我愿意接受build议。
注 – 托pipe的解决scheme是我必须的。 我不想设置和维护持续集成服务器,所以像“TeamCity”或“CruiseControl”这样的答案根本就不相关。
具体要求:
- 我在GitHub上托pipe我的项目,所以持续集成服务器需要Git集成
- 我想持续集成服务器运行.NET集成(单元)testing
- 很高兴有 – 我还需要访问MySQL服务器(尽pipe我可以修改testing以使用embedded式SQLite ,它们当前是在外部MySQL服务器上运行的)。
我知道线程是相当老的,但对于仍然在寻找答案的人,我build议看看AppHarbor
使用Github和Bitbucket设置集成非常简单,通过“ addon ”选项可以免费获得基本的数据库连接。
创业公司非常方便。
AppVeyor与Github很好地集成,免费用于开源项目,并且非常容易设置。
构build使用YAML或UI进行configuration。 免费帐户一次只限制一个版本。 支持部署到NuGet,以及项目和帐户供稿。 它与GitHub深度集成,例如允许创build版本。 它支持构buildmatrix,AssemblyInfo修补,滚动构build,构build优先级,状态标志,构build通知等。
特拉维斯是着名的CI(似乎是迄今为止最受欢迎的托pipeCI ),现在它也支持构buildC#,F#和VB项目 。 需要注意的是,它仅支持Linux和Mono,并且处于testing阶段(“随时可能会被删除或更改”)。
MyGet是托pipe包服务器,但现在它也支持构build服务(当前预览)和其他function 。 对于公共订阅源(最大500 MB)是免费的,并且对已批准的开放源代码项目 (更大的存储和图库)具有稍好的function。 构build服务针对软件包进行了优化:NuGet提要,MyGet提要,SymbolSource集成等。
现在,Microsoft为Team Foundation Server最多5人的团队免费提供了此function 。
它提供:
- 源代码pipe理:TFS,Git
- 敏捷计划:敏捷,Scrum,CMMI
- 连续构build
- 合作
- 积分
- testing执行
- 部署
Visual Studio Team Services不需要托pipe代码, 代码可以从GitHub或任何Git存储库中获取。
如果项目很小,并且没有复杂的构build要求,则托pipe池可用于执行CI构build。 有几个限制:可用的软件,一次一个构build,一个小时的时间限制等。如果还不够,可以通过在机器上运行脚本来添加自己的构build代理。
GitHub支持不完整(例如,pull请求不是内置的),但是大部分的function都被支持。 Shields.io不支持VSO,但自定义屏蔽是可用的。
开源项目的主要缺点是构build日志,testing结果和其他数据将不公开。 只有五个用户可以通过免费帐户访问该项目。 在UserVoice上有一个build议可以使公共项目成为可能。
我不认为你会很容易地find一个真正的免费(这是我的意思是任何项目,任何语言)托pipeCI服务,因为这样的服务是非常CPU,RAM,磁盘密集,这意味着具体的规则,硬件,定价。
对于一些优惠,看看外包持续集成或这个问题在这里。 我没有详细看所有的解决scheme,所以我不知道他们是否会满足您的要求(语言,工具和定价)。
或者尝试join一个为Codehaus ( EDIT:不是.NET项目AFAIK的选项)或CodeBetter等开源项目提供持续集成的伪造。 这当然需要一些努力,让你的项目接受(实际上很less有恕我直言),但这可能是你最好的select。
也许正确的答案是有人为这类事情提供一套EC2镜像,所以用户可以使用Amazon,或者在防火墙内的Eucalyptus上构build自己的云(如果他们是偏执狂的话)……但无论如何,您可以节省构build这些图像的时间和成本。
MikeCI是一个负担得起的托pipeCI服务,从每月10美元,你可以在几分钟内设立云构build。 它目前支持Ruby,Maven和Ant。 它有一个免费的30天试用,所以你可以尝试一下,看看它是什么样子。 我个人认为这很好,加上我认为他们正在寻求支持.Net和Objective C!
这里是他们的网站http://www.mikeci.com
我知道这可能是一个古老的线程,但是
这是另一个select:
结帐jenkins 。
它确实支持我正在使用的Jenkins.NET 。
这里是另一个SO-RELATED-THREAD: TFS 2008/2010 vs Jenkins持续集成
有RunCodeAt ,帕斯卡的评论指出我。 github是非常容易的,我碰巧把我的项目托pipe了。 我会试一试。