Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Google says there are:
Jenkins ( first impression: not lightweight )
Cruise control ( first impression: not lightweight )
Bitten ( seems to be dead, last ticket >8 months old)
BuildBot
But BuildBot seems a bit outdated, offering no statistics, not very intuitive to configure... Features we are interested in are:
Multi platform support for build slaves: Linux, Mac OS X, Windows
Easy build slave setup
Mercurial support with branch sensitivity
Scheduled builds
Commit-hook builds
Email notification with full debug output
Trac integration would be nice but is not a must-have feature
Edit:
I favour Jenkins over Hudson by now, since its the real open source fork of Hudson. Oracle just failed.
Hudson is my recommendation. It's easy to setup and use, it's free, there are a large amount of third-party plugins and good community support.
TeamCity by JetBrains.
Google says there are: [...]
There is a huge wikipedia page on CI software comparison:
http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software
Personally I am also using buildbot and I think it could fulfill all of your requirements. It's a bit of work to setup because it is a distributed application but frankly as pyfunc said it's a breeze to setup a new slave once you know what two commands to type (one is an "easy_install", the other one a "buildbot create-slave" with the right options).
Also it is still under heavy development and I chose it because it is easily extensible, whereas XML-based tools are confined to the types of build specs which were coded in the tool: perfect for Java/Ant/Maven projects but it can be limited for slightly more complex ones (e.g., involving DB, or embedded software, etc.).
Hope it'll help.
Cheers,
Christophe.
= The act of automating doesn't solve problems, it just automates them --Joseph Weizenbaum =
I have used Hudson with Mercurial and found it to be excellent. The Feeds, web site, status reports, etc. were all "just the right size" for us in a 20 person shop. Just run it in a VM and forget about it; we did.
I have used BuildBot. My experience has been good with it. Installation is a breeze. It uses configuration to setup the master, slave and has various means for communicating result from publishing on web to mail integration.
http://buildbot.net/trac
I have blogged about the buildbot setup. I find it easy. There are few dependencies like twisted that needs to be taken care of.
http://pyfunc.blogspot.com/2010/09/using-buildbot-for-continuos.html
[Edit: I tried to put together a post on how to configure BuildBot - master.cfg]
http://pyfunc.blogspot.com/2010/10/setting-up-buildbot-customizing.html
As others have recommended, Hudson satisfies your list of requirements. There's also a plugin for Trac integration.
Regarding "lightweight", Hudson configuration is not XML hell. You can do everything via the Web interface. So it's very easy to get up and running.
Hudson's plugin architecture provides a lot of extension points and integration with other tools. (Although it can be a pain to sort through all the possibilities for the plugin that has the behavior you need.)
You can also script it through the remote access API. This is a powerful way to introduce new behavior for your environment without needing to dive into writing a plugin.
Our free hosted CI environment (fazend.com) is powered by CruiseControl 2.8.3, which is a free open-source product, written in Java. One of its benefits (for us) is that it doesn't need any database, everything is in files.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I have a project managed on codeplex.com.
Does it ever make sense to push source releases to github or googlecode?
I don't know of any reason to mirror just the source code from your "home" site to another one, and having observed thousands of open source projects, I can't recall any of them having done that so I really don't think there is a reason for it.
However there are a couple reasons why people might want to mirror their project releases (e.g. the installer versus the source code). Here are the two reasons a project might want to do that (and I've definitely seen examples of both of these):
Your project is multi-platform - CodePlex is the best place to reach Windows users, so if your software runs on Windows you'll get the most downloads by hosting your project releases there. However if your software also runs on Linux, very few Linux users look for software on CodePlex, so you might want to host the releases on SourceForge as well since it has a high number of Linux users.
Your preferred site for development is different then the best site to reach your audience - The project development features vary between the sites, so take a theoretical example of you love using CVS but your project software runs on Windows. SourceForge is the only site that supports CVS, so you might choose to host your project there for development purposes, however you would likely also want to mirror the releases to CodePlex since you'll be able to get the most downloads from Windows users there.
Sure, if you want people who are using git or hg to easily grab your source code. Might not be worth it unless your project has a large user base, though.
Other than for exposing different source control options, I can't see why you'd want to (is it even realistic to co-manage a project with, for example, SVN and Git at the same time). If you're not doing that, it's a bit of a waste of time. What do you get out of it? A small measure of redundancy if codeplex is unavailable for some reason? What if someone commits changes to another host? Managing conflicts between different repositories is not fun. The inevitable end I'd imagine would be having a 'ghost' repository which many are unaware of being unofficial instead of having everyone working off the main one.
It used to make sense to have a read-only SVN mirror for its popularity, but now Codeplex supports SVN checkouts as well.
A different aspect is moving your source control to github / etc. instead of mirroring. You still keep one authoritative location for the code, but gain github's arguably better support for collaboration from others.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 8 years ago.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Improve this question
I'm starting a small open source project, myself being the sole contributor for the time. Still, I think a continuous integration setup would be useful to detect whether I broke the build.
Is there a free, hosted continuous integration server that is suitable for very small projects? Googling turned up CodeBetter, but I'm not sure they'll accept a one-man project that is just starting up.
I prefer TeamCity, but I'm open to suggestions.
Note - a hosted solution is a must for me. I don't want to setup and maintain a continuous integration server, so answers like "TeamCity" or "CruiseControl" are simply irrelevant.
Specific requirements:
I am hosting my project at GitHub, so the continuous integration server needs Git integration
I would like the continuous integration server to run .NET integration (unit) tests
Nice to have - I also need access to a MySQL server (although I could modify the tests to use embedded SQLite, they currently run against an external MySQL server).
AppVeyor is well integrated with Github, free for open-source projects and really easy to set up.
Builds are configured using YAML or UI. Free accounts are limited to one build at a time. Deployment to NuGet is supported, as well as project and account feeds. It is deeply integrated with GitHub, for example allows creating releases. It supports build matrices, AssemblyInfo patching, rolling builds, build prioritization, status badges, build notifications etc.
Travis is well-known CI (and seems to be the most popular hosted CI by far), now it supports building C#, F# and VB projects too. The caveat is that it supports only Linux and Mono and it's in beta ("may be removed or altered at any time").
MyGet is a hosted package server, but now it supports Build Services too (currently preview) and other features. It's free for public feeds (500 MB max) and has slightly better features for approved open-source projects (bigger storage and gallery). Build service is optimized for packages: NuGet feed, MyGet feeds, SymbolSource integration etc.
This is now provided by Microsoft for free for teams of up to 5 people by Team Foundation Server.
It provides:
Source Control: TFS, Git
Agile Planning: Agile, Scrum, CMMI
Continuous Builds
Collaboration
Integration
Test Execution
Deployment
Visual Studio Team Services doesn't require hosting code on it, code can be pulled from GitHub or any Git repository.
If the project is small and doesn't have complex requirements to build, Hosted pool can be used to perform CI builds. There're several limitations: available software, one build at a time, time limit of one hour etc. If it isn't enough, you can add your own build agents by running a script on your machines.
GitHub support isn't full (pull requests aren't built, for example), but most functionality is supported. Shields.io doesn't support VSO yet, but a custom shield is available.
The primary drawback for open-source projects is that build logs, test results and other data won't be public. Only five users can be given access to the project on a free account. There's a suggestion on UserVoice to make public projects possible.
I know the thread is quite old, but for the people still looking for the answer I recommend taking a look at AppHarbor
It is pretty easy to setup integration with Github and Bitbucket, and you have basic db connections for free through "addon" options.
Quite convenient for startups.
Also take a look at CodeHaus:
http://codehaus.org/
They use Atlassian's Bamboo CI software.
No opinion - as I've never used it.
I don't think that you will easily find a real free (by this I mean for any project, any language) hosted CI service because such a service is very CPU, RAM, disk intensive which implies specific rules, hardware, pricing.
For some offers, have a look at Outsourcing Continuous Integration or this question here on SO. I didn't look at all solutions in detail so I don't know if they'll meet your requirements (language, tool and pricing).
Or try to join a forge providing Continuous Integration for open source projects like The Codehaus (EDIT: not an option for .NET projects AFAIK) or CodeBetter. This will certainly require some efforts to get your project accepted (few actually are IMHO) but this might be your best option.
I've just started using OnCheckin:
https://oncheckin.com/
They exclusively provide for .NET projects.
Maybe the right answer is for someone to make a set of EC2 images available for this sort of thing, so users can either use Amazon, or build their own cloud on Eucalyptus inside the firewall if they're paranoid... but in either case, you save the time and cost of building those images.
MikeCI is an affordable hosted CI service, from $10 per month you can have a cloud build set up in minutes. It currently supports Ruby, Maven and Ant. It has a Free 30 day trial so you can try it and see what it's like. I personally think it's great, plus I think they're looking to support .Net and Objective C!
here's their site http://www.mikeci.com
I know this is probably an old thread, but
Here's another option:
Checkout Jenkins.
It does supports Jenkins.NET which I'm using right now.
And here's another SO-RELATED-THREAD: TFS 2008/2010 vs Jenkins for Continuous Integration
There's RunCodeAt, which Pascal's comment pointed me to. It is super easy to integrate with github, which I happen to host my project on. I'll give it a try.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Time ago I started to develop a project and now I would like to make it open source. I am not familiar with open source contribution so I would really appreciate if anyone of you could suggest any good source (book or web tutorial) where I could learn how to setup a repository and arrange everything neccesary in order to make possible open source development.
Thanks!
Easiest way to start, create and maintain a repository is to open a project on SourceForge, or CodePlex (if you intend to have a .Net project). You can also try Google Code.
Visit Google Code. Setup a project there and learn how to use Subversion. When you're comfortable using Subversion and Google Code, you can setup your own Subversion/Trac server.
These days one of the more popular ways of running an open source project is to let a website such as SourceForge or Google Code (and there are many others) host the project. Most provide services such as code hosting using a variety of repository formats (CVS, Subversion, Git, Mercurial, etc...), mailing lists, bug trackers, wikis and more. The idea is that you are busy writing code, you shouldn't have to deal with mundane system administration tasks like maintaining source control or web servers.
In addition to SourceForge, Google Code, and Codeplex, I would add GitHub.
As others have indicated letting someone else host this for you is the easiest way to go about getting an open source project up and started. As for guidance on the different options out there:
Source Forge - Never used them, but
I know they've been around for a
long time and they claim to be the
largest.
Google Code - Can use subversion or
mercurial for version control. Good
code review tool too. Good option
for choice and tools.
Codeplex - .NET stuff goes here.
Hosted version of team foundation
server.
GitHub - Centered around git, the
distributed source control system
developed by Linus for Linux
development. Great for parallel
development if you plan on having
lots of folks working on it, but to
be fair mercurial offered by Google
Code is also parallel.
Here's an interesting article by Rob Conery about moving his .NET based open source project to github. If I remember right he had used Google Code and Codeplex previously. Have I successfully plugged my favorite? :)
In any case, don't worry about doing it yourself, a lot of hosting companies have one click installs for subversion. However hosting it will give you the following advantages:
Source control system set up and managed for you
Code review, and other collaboration tools are common
Generally you get a page to provide downloads to potential end users
Visibility and a community of potential contributors. I'm assuming you'd like other people to help you.
Hope that helps.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
To ease our release testing, we're looking for a system to automatically build and (unit) test our software projects on a variety of architectures. Our constraints are:
The code to build is written in several languages, including Python, Java and C.
We have several distinct deployment architectures.
We have multiple projects, which we would like to build and test independently.
Our source control system is Subversion, and the system should integrate with that.
The solution should ideally be open source.
We've looked at:
Artifactory + Continuum: Nice in some ways, but is heavily Java-centric, with limited or non-existent Python support.
Buildbot: This gives us almost all the functionality we need, except it doesn't support multiple projects, which is a deal-breaker for us.
What would you recommend? What do you use?
Take a look at TeamCity. Works like a charm for us.
Have you looked at Hudson? I've used it on .Net projects with a lot of success even though its a somewhat Java centric tool. It supports subversion and has an active and diverse plugin community which enables it to work with a lot of different languages. Its open source and it runs on many platforms.I found it to be relatively easy to configure and manage.
Since moving away from buildbot i've been using cruisecontrol and i've been happy with it to certain degree. My current projects consist of building c++ & ruby (with some c extensions) to multiple architectures and and only gripe with is that most features do require ant. And currently single instance of cc is building roughly 40 different projects.. Build phases we have do consist of running unittests, some functional tests, getting code coverage and making a report of those, updating package database, irc integration, software packaqge creation and repository update (debian)
Only gripe is that most of the fancier features would require that (Atleast when inside cc build loop) build is happening with ant.
I've also evaluated hudson, it seems to be somewhat more flexible than cruisecontrol but i dont personally like the configuration interface of it.
I'm a developer on CruiseControl and I work for Urbancode who makes AnthillPro, so I can speak to the strengths of those. I'm also one of the organizers of CITCON so I'm pretty familiar with almost all the offerings in the space.
CruiseControl or Hudson are both pretty good open source CI tools. I find CC really easy to customize and extend and there are lot of plugins that have been added over its 8 year lifetime. Hudson is newer and easier for most people to get started; it is dead simple to get your first project running using the GUI configuration while CC requires mucking about in XML files. Hudson also has an active plugin community and is rapidly adding new capabilities.
However depending on the complexity and requirements of your projects you might find a commercial tool like AnthillPro would be a better fit. The reasons upgrade from CC or Hudson to AHP vary from company to company but some typical answers include the ability to setup self-service deployments with access control by environment, the desire to chain multiple builds/workflows together, the built in dependency management, the artifact repository, or the ability to pull together data from a bunch of different tools & builds across the lifecycle.
Not everyone needs those capabilities but the people who do find the upgrade to be worth the money.
Why not also take a look at CI Factory.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm looking for a free/open source collaborative project manager that can be deployed internally in my workplace that would act similar to Codeplex or Sourceforge. Does anyone know of something like this, and if so do you have experience with it.
Requirements:
Open Source or Free
Locally Deployable
Has the same types of features found in Sourceforge / Codeplex
Issue/Feature Tracking
Community Interaction (ie. Voting, Roles, etc.)
SCM Integration (Optional)
.NET/Windows Friendly (Optional)
Every business ends up having internal utilities, and domain specific apps that developers create to make life easier. Given the input of the internal developer community they have the potential to become much better (can you say GMail...), and I would simply like to foster such an environment internally by providing an easy place for that interaction to take place.
UPDATE:
So I like what I am seeing in both Trac and GForge, but both are heavily geared towards UNIX/Subversion environments. I should have specified this, but we are a MS shop from top to bottom. How practical do you think it is going to be to try and use these in a MS .NET environment? Would that be like trying to shove a square peg through a round hole?
I like redmine for this: http://www.redmine.org. The only thing it's missing from your criteria is voting, but there might even be a plugin for this.
Trac is also popular (http://trac.edgewall.org) but it lacks suport for aggregation of data across projects.
Try GForge, it's a SourceForge fork and has most of its features.
I agree, Trac should work. IMHO setting up Subversion should be relatively easy on Windows too, there are great Windows clients for it (tortoiseSvn), and Trac runs on python, so it will work on Windows too.
Other advantages of Sourceforge Enterprise are these plugins. There are extra plugins for Visual Studio wich can be found here and here.
SourceForge Enterprise Edition 4.4 is available for free for up to 15 users. We use it for our development team and another development team where I work.
It's been working great for us. It has subversion and cvs built in (whichever you wish to use). If you plan on accessing it over the internet you might want to enable HTTPS. I had to do a little finagling to get HTTPS to work correctly (finding the right CentOS packages to install). If you wanted to use this solution with HTTPS I wouldn't mind if you sent me a message asking for help.
It comes with a VM for VMWare Player:
http://www.collab.net/downloads/sfee/index4.4.html
Launchpad has support for Code Hosting and version control, Bug tracking, Blueprints, Answers, Polls, Translations, etc.
Launchpad is used by the Ubuntu Project.
A few weeks ago, Launchapad was released as open source.
I was just wondering the same thing, something like Trac but in .NET, after a quick GOOGLE search (I have never tried these tools) I found
sharpforge (This no longer looks free!)
I like how the site .netTiers looks.
They use screwturn wiki.
It is totally free if you fulfill all GPLv2 statements.
Assembla and BeanStalk are nice, both have things like; wiki, discussion, alerts, chat, ticketing, Trac, Git and Subversion
What about Trac? It's pretty simple, but does it's Job for a lot of Open Source projects.
I would concur on the Trac suggestion. I use it both for an open source project and for an internal project. It has decent issue tracking and integration with Subversion which allows links between tickets and subversion checkins. It also has an integrated wiki, which can be of some use for documentation. Although we do not use it for voting / community type features, I know there's a number of addons to it that might serve this purpose.