CodeBetter – in collaboration with JetBrains and Devlicio.us – is proud to announce the launch of TeamCity.CodeBetter.com – a continuous integration server farm for open source projects. JetBrains is generously supporting our community efforts by funding the monthly costs of the server farm and providing a TeamCity Enterprise license.
To apply to have us host CI for your OSS project:
The top issues we see on setting up builds:
1) Before we even set up your project, it must have an open source license, and we need the link to that license. What we are looking for you to link to is public evidence of your open source status-either a license file in the root of your repository at its hosted location, or the license page of your project’s site (CodePlex-hosted repositories often have this sort of page) If you do use a license file, it should have the text of the open source license with the name of the open source license as the first line of the file-it’s much easier for users of your project to know what your license is if the name of the license is there.
2) The build server does not have Microsoft MVC (any version) installed. However, this is very easy to work around-Microsoft MVC is available on NuGet at http://nuget.org/packages/
3) The build server does not have Visual Studio installed. Most cases of Visual Studio dependencies we have seen tend to be usages of MsTest. We advocate usage of either nUnit or xUnit as alternatives, both are build-server and open-source friendly. xUnit was created by Microsoft developers and is used on a number of Microsoft projects, while nUnit is more widely used, has been around longer, and may be a bit more collaboration-friendly for that reason. If you are writing a Visual Studio plugin, you may not be able to escape the dependency so easily- we understand this is an issue and are thinking about it; talk to us.
4) Aside from the specific dependencies mentioned above, include copies of (or reference the NuGet packages of) any dependencies you have, where at all possible. Your goal should be to allow the project to be pulled down to a clean machine and built – this is pretty much what happens on the build server, so that kind of setup will go a long way to getting a green build. in addition, it lets you have control over your own dependencies, and it also makes it easier for new users of your project to get started.
If you really can’t include a dependency (for instance, you need Ruby to be installed for your build to run) let us know what you need when you fill out the request form. We consider these special install requests on a case-by-case basis, and the lower-impact the install, the more likely it is to be accepted. For example, an zip program install is more likely to be accepted than a Windows service pack. If a dependency is of general interest, it is also more likely to be installed-for instance, F# or Java’s Play framework.