8个最好的持续集成工具

admin 8年前

So without further ado and in no particular order of importance, I present to you the list of the top 8 Continuous Integration tools:

Jenkins

jenkins logo

Jenkins is an open source CI tool written in Java. It originated as the fork of Hudson when the Oracle bought Sun Microsystems. Jenkins is cross-platform tool and it offers configuration both through GUI interface and console commands. What makes Jenkins very flexible is the feature extension through plugins. The Jenkins plugin list is very comprehensive and you can easily add your own. Besides extensibility, Jenkins prides itself on distributing builds and test loads on multiple machines. It is published under MIT license so it is free to use and distribute.

Official website: Jenkins
Availability: Free
Platform: Cross-platform

TeamCity

TeamCity logo

TeamCity is a mature CI server, coming from the labs of JetBrains. JetBrains has established authority in the software development world, and their tools like WebStorm and Resharper are used by developers worldwide. TeamCity offers all the features in its free version, but it is limited to 20 configurations and 3 build agents. Additional build agents and build configurations costs can be found here. Out of the box, TeamCity has the support for wide variety of tools and frameworks and since it supports many .NET features out of the box it might be best suited for your .NET project. Despite being Java based solution, TeamCity offers the best .NET support among the tools on this list. It also has a wide variety of publicly available plugins, developed both by JetBrains and third parties.

Official website: TeamCity
Availability: Free and paid
Platform: Servlet container

Travis CI

TravisCI logo

Travis is an open source service free for all open source projects hosted on the GitHub. Since it is hosted, it does not depend on any platform. It is configured using .travis.yml files which contain the information to do. It supports a variety of different languages and the build configuration for each of them is well documented. Travis uses the virtual machines to build applications. If you have a private repository or you need to run more than one job concurrently, there are various monthly subscriptions plans.

Official website: Travis CI
Availability: Free and paid
Platform: Hosted

Go CD

go cd logo

Go is the newest Cruise Control incarnation from ThoughtWorks. Excluding the commercial support that ThoughtWorks offers, Go is free of charge. It is available for Windows, Mac, and various Linux distributions. What makes Go stand out from the crowd is the concept of pipelines which makes the modeling of the complex build workflows easy. On the pipeline concept, how it can help with Continuous Delivery and how it compares to Jenkins pipelines you can readhere. It is designed from the scratch to support pipelines and eliminate build process bottlenecks with the parallel execution of the tasks.

Official website: Go CD
Availability: Free with paid support
Platform: Windows, Linux, Mac

Bamboo

bamboo logo

Atlassian is the company focused on providing tools for software development teams, and you might know them by their tools like JIRA and Bitbucket. Bamboo is Atlassian’s CI tool that comes in two separate versions. The cloud and the server. If you decide to go for the cloud version of Bamboo, Atlassian will host the Bamboo for you and you will need the Amazon EC2 account. If the server is your preferred choice, you will host your own instance of the Bamboo server. Both versions come with the free trials and the pricing plans are based on the build agent count rather than the users. Being the Atlassian tool, it has native support for JIRA and BitBucket, and you can even import your Jenkins configurations into Bamboo easily.

Official website: Bamboo
Availability: Paid with free trial
Platform: Servlet container or hosted

GitLab CI

gitlab logo

GitLab CI is an integral part of the open source Rails project GitLab, which was brought to light by the company GitLab inc. GitLab is hosted on GitLab.com, a free hosted service, and it provides detailed git repository management with features like access control, issue tracking, code reviews, and many more. GitLab CI is fully integrated with GitLab and it can easily hook projects using the GitLab API. GitLab process builds are written in the Go language and can run on Windows, Linux, OSX, FreeBSD, and Docker. The official Go runner can run multiple jobs concurrently and has inbuilt Docker support. GitLab CI comes with both the open source GitLab Community Edition, and with the GitLab Enterprise Edition which comes with a 45 day money back guarantee.

Official website: GitLab CI
Availability: Free and paid with trial
Platform: Hosted

CircleCI

circleci logo

Another hosted alternative that comes from the company of the same name. CircleCI currently only supports GitHub and the list of supported languages includes Java, Ruby/Rails, Python, Node.js, PHP, Haskell, and Skala. What separates CircleCI from the other tools is the way they offer services. The main pricing block for CircleCI is the “container”. One container is free and you can build as many projects on it as you need. Once you start adding more containers (at a fixed price each) you can choose the level of parallelization that suits your needs. There are 5 levels of parallelization (1x, 4x, 8x, 12x and 16x). So, starting with the 16 containers, you can achieve maximum parallelization of 16x on one build. Or you can run 4 builds on 16 containers with 4x parallelization. It is up to you. And did I mention that CircleCI supports Docker?

Official website: CircleCI
Availability: Free and paid with trial
Platform: Hosted

Codeship

codeship logo

If you haven’t had enough hosted solutions up until now, here is another one. Codeship relies on GitHub and Bitbucket and provides a dose of test parallelization with theParallelCI feature. It supports Java, PHP, Ruby (Rails), Node.js, Python, and Go, and you can deploy your projects on the services like AWS or Heroku. The trial includes one concurrent build and one parallel test pipeline, and is limited to 100 builds per month and 5 projects. The pricing comes in several upgrading packages with the option of adding the docker platform for the additional cost of $75 monthly. There is also a custom plan where you can fully customize parameters that suit your team the best.

Official website: Codeship
Availability: Free and paid
Platform: Hosted