Continuous Integration (CI) tools help you stick to your team’s quality standards by running tests every time you push a new commit and reporting the results to a pull request. Combined with continuous delivery (CD) tools, you can also test your code on multiple configurations, run additional performance tests, and automate every step until production.
There are several CI and CD tools that integrate with GitHub, some of which you can install in a few clicks from GitHub Marketplace. With so many options, you can pick the best tool for the job—even if it’s not the one that comes pre-integrated with your system.
The tools that will work best for you depends on many factors, including:
Of course, it isn’t possible to optimize your CI tool for all of these scenarios. The people who build them have to choose which use cases to serve best—and when to prioritize complexity over simplicity. For example, if you like to test small applications written in a particular programming language for one platform, you won’t need the complexity of a tool that tests embedded software controllers on dozens of platforms with a broad mix of programming languages and frameworks.
If you need a little inspiration for which CI tool might work best, take a look at popular GitHub projects. Many show the status of their integrated CI/CD tools as badges in their README.md. We’ve also analyzed the use of CI tools across more than 50 million repositories in the GitHub community, and found a lot of variety. The following diagram shows the relative percentage of the top 10 CI tools used with GitHub.com, based on the most used commit status contexts used within our pull requests.
Our analysis also showed that many teams use more than one CI tool in their projects, allowing them to emphasize what each tool does best.
If you’d like to check them out, here are the top 10 tools teams use:
It’s tempting to just pick the default, pre-integrated tool without taking the time to research and choose the best one for the job, but there are plenty of excellent choices built for your specific use cases. And if you change your mind later, no problem. When you choose the best tool for a specific situation, you’re guaranteeing tailored performance and the freedom of interchangability when it no longer fits.
Ready to see how CI tools can fit into your workflow?
Enhance performance in high availability environments, define more granular permissions, and seamlessly review code with GitHub Enterprise 2.11. Our latest release brings together some of the most-requested features to make your team’s development process smoother and more efficient.
Ready to upgrade? Download GitHub Enterprise 2.11
Geo-replication is now out of early access and available in Enterprise 2.11. Geographically distributed data centers use multiple replicas, so requests are always sent to the closest server and fulfilled faster than ever before.
Hotpatching is also out of early access and available in GitHub Enterprise 2.11. Now, you’ll almost always be able to upgrade to a newer patch release with zero downtime—no need to sweat about last minute security fixes.
Whether you’re working on a project within your team or across departments, nested teams keep information clearly organized. With Enterprise 2.11, you can make sure the right people have access to the right code and reduce noise as contributors grow. Child teams inherit their parent’s access permissions, so repository permissions and mentioning among nested teams work from top to bottom, improving the flow of communication. For example: If your team structure is Employees > Engineering > Application Engineering > Identity, granting Engineering write access to a repository means Application Engineering and Identity also get that access.
Great reviews can take a village. With team reviews, you can ask an entire team to look at your pull request with one mention. Just tag the team in the “Reviewers” section of your pull request for better reviews from more teammates in less time.
You can now define exactly which people and teams always need to review projects with code owners. Select code owners, and they’ll automatically be requested for review when a pull request touches the files they own. There’s also a protected branch option, which requires code owners to leave a review before anyone can merge a pull request to the branch. Never worry about mistaken merges going unnoticed again.
Download GitHub Enterprise 2.11 to start using these features today. You can also check out our release notes to learn more, and enable update checks to automatically check when the next GitHub Enterprise release is available.
Want to try GitHub Enterprise? Request a free 45-day trial
The latest GitHub Enterprise release is here with updates for developers and admins alike. Customizable workflows and advanced project tracking help your team do more at every step of the development cycle.
Ready to upgrade? Download GitHub Enterprise 2.10
The GitHub GraphQL API is now out of early access on GitHub.com and available in GitHub Enterprise 2.10. Create your own tools with greater access to data than ever before using the same API that we use to build GitHub. Ask for the exact data you need in a single request and get updates in real time—no more hitting multiple endpoints or waiting for new ones after a new enterprise feature has been released.
With Enterprise 2.10, repository admins can manually add tags to their repositories for easy search and discovery. Use topics to add relevant data and group repositories by languages used, project function, or teams responsible for maintaining the repository. Team members can use tags to filter repositories and find new ones related to their projects.
Project boards are a great way to keep your tasks organized on GitHub, and they’re especially useful when working with a team. The latest enterprise release helps you accomplish more in project boards with better organization, tracking, and reviews.
When projects get complex with multiple contributors and phases, it can be difficult to keep track of what’s getting done and who’s doing it. Now teams can see a rich history of all activity (and the teammate behind each action) in one place with project board history.
If your team isn’t using project boards, admins can disable them by unchecking the Projects box in Settings on the repository or organization level. When they’re disabled, you’ll no longer see project board information in timelines or audit logs. They can be re-enabled at any time and will be restored exactly as you left them.
Review requests help you get the exact feedback you need from the people you need it from. Now you can use filters to find the pull requests that require your attention first. Use the Reviews filter to see the pull requests still awaiting review, unreviewed pull requests on protected branches that require a review, approved pull requests that are ready to merge, pull requests that have a review requesting changes, and pull requests that have been reviewed by a specific user.
Reinforce your team’s code reviews by specifying who in your organization can dismiss reviews on a protected branch. In addition to the ability to leave, manage, request, and dismiss reviews, protect branches, and limit merging rights, you can ensure important feedback gets addressed. Completely remove the ability to dismiss reviews on a protected branch or restrict that ability to a subset of users or teams specified in your branch protection settings for any organization repository.
Download GitHub Enterprise 2.10 to start using these features and keep improving the way your team works. You can also check out the release notes to see what else is new or enable update checks to automatically check for the latest releases of GitHub Enterprise.
Not on GitHub Enterprise yet and want to give it a try? Request a 45-day free trial
GitHub Enterprise 2.9 is now available with improvements for both developers and administrators. With this release, administrators will see improvements in reliability and developers can get more out of pull requests.
Ready to upgrade? Download GitHub Enterprise 2.9.
Now, with load balancer support, running a load balancer in front of a single GitHub Enterprise appliance or High Availability pair allows for even more reliable deployments.
We’ve also expanded installation flexibility with a new hosting option on Google Compute Engine.
Starting conversations around code is what Pull Requests and the GitHub Flow are all about. These feature enhancements make that collaboration even more efficient.
GitHub Projects can now be used at the Organization level. All users in your Organization will have access to its Projects, so you and your team can plan and manage work across repositories. With Organization-wide Projects, everyone can see what’s already in motion and work together without duplicating efforts.
GitHub Enterprise 2.8 adds power and versatility directly into your workflow with Reviews for more streamlined code review and discussion, Projects to bring development-centric project management into GitHub, and Jupyter notebook rendering to visualize data.
Reviews help you build flexible code review workflows into your pull requests, streamlining conversations, reducing notifications, and adding more clarity to discussions. You can comment on specific lines of code, formally “approve” or “request changes” to pull requests, batch comments, and have multiple conversations per line. These initial improvements are only the first step of a much greater roadmap toward faster, friendlier code reviews.
With Projects, you can manage work directly from your GitHub repositories. Create task cards from pull requests, issues, or notes and drag and drop them into categorized columns. You can use categories like “In-progress”, “Done”, “Never going to happen”, or any other framework your team prefers. Move the cards within a column to prioritize them or from one column to another as your work progresses. And with notes, you can capture every early idea that comes up as part of your standup or team sync, without polluting your list of issues.
Producing and sharing data on GitHub is a common challenge for researchers and data scientists. Jupyter notebooks make it easy to capture those data-driven workflows that combine code, equations, text, and visualizations. And now they render in all your GitHub repositories.
This release takes the contribution graph to new heights with your GitHub timeline—a snapshot of your most important triumphs and contributions. Curate and showcase your defining moments, from pinned repositories that highlight your best work to a profile timeline that chronicles important milestones in your career.
GitHub Enterprise 2.8 gives administrators more ways to enforce security policies, understand and improve performance, and get developers the support they need. Site admins can now enforce the use of two-factor authentication at the organization level, efficiently visualize LDAP authentication-related problems—like polling, repeated failed login attempts, and slow servers—and direct users to their support website throughout the appliance.
Upgrade to GitHub Enterprise 2.8 today to start using these new features and keep improving the way your team works. You can also check out the release notes to see what else is new or enable update checks to automatically check for the latest releases of GitHub Enterprise.