Choosing the Right Tool for Continuous Integration and Development
Many MacStadium customers take advantage of the fast internet connection and strong performance of one or more Mac mini’s to outsource CI and CD build server duties.
There are many different CI/CD platforms available based on the type of application being developed. At MacStadium, we’re big proponents of the tools our customers use. Many MacStadium customers take advantage of the fast internet connection and strong performance of one or more Mac mini’s to outsource CI and CD build server duties in their development pipelines.
Before selecting a CI/CD solution, it’s important to choose the right path for your application. This necessitates answering a few questions to match the right CI/CD tool to your platform.
First, open source or proprietary software? This can be a personal or business decision so it’s important to do the research. Does your product require all contributed software licenses to remain open source? Do you need to look under the hood? Do you care about faster development (open source is considered more iterative in nature) or are you looking for a tool ready to go without any licensing and/or technical worries?
Second, SaaS or self-hosting? There are popular solutions on both sides of the fence in this regard. Several of the top CI/CD platforms offer free SaaS versions, premium self-hosted versions, or even the reverse scenario. Security-conscious developers will prefer a self-hosted solution, while companies requiring integrations with third party services will likely prefer SaaS.
Third, CI or CI+CD? Many companies are just looking for a simple continuous integration solution to test builds for one or more languages, runtimes, and/or operating systems. This is the simplest route. Others are looking to create a completely automated workflow including testing, staging, and deployment. This route means one code push can create a finished product released to a production environment if that is the goal.
Lastly, are there any specific operating systems required? Many of the testing tools offer the ability to test against nearly all popular languages. For system-level testing though and mobile application testing, it’s important to do more thorough research into the available tools.
While every organization has more specific requirements, these are a firm foundation to begin narrowing down choices. Now, you can begin reviewing the fantastic options available in the agile integration and delivery space. There are many great options that cover nearly every requirement for agile integration and delivery. Below is a selection of popular CI and CD tools for code, applications, websites, and even emails.
A hosted continuous integration service for open source and private projects. (Check out our case study!)
An extensible open source continuous integration server.
An open-source framework for automating software build, test, and release processes.
Open Source Continuous Integration & Deployment Server.
Automate your team’s software development processes, from testing through to delivery, no matter the language, environment or toolchain.
Continuous Integration & Delivery as a Service
Bamboo is a continuous integration and delivery tool that ties automated builds, tests and releases together in a single workflow.
CircleCI provides development teams the confidence to build, test, and deploy—quickly and consistently—across numerous platforms.
Build, test and deploy in the cloud.
Go automates and streamlines the build-test-release cycle for continuous delivery.
DevOps automation and continuous delivery solutions
A continuous integration system for automating static analysis of software, unit testing, and build archiving.
Cloud-based CI testing for mobile and web apps.
Selenium is a suite of tools to automate web browsers across many platforms.
Live, web-based browser testing
Test and track your emails