DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • CI/CD Pipelines in the Cloud: How Cloud Hosting Is Accelerating Software Delivery
  • What Is API-First?
  • A Concise Guide to DevSecOps and Their Importance in CI/CD Pipeline
  • Securing Your CI/CD Pipeline

Trending

  • Top Book Picks for Site Reliability Engineers
  • A Complete Guide to Modern AI Developer Tools
  • Automatic Code Transformation With OpenRewrite
  • Testing SingleStore's MCP Server
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. 10 Things to Consider While Choosing a CI Platform

10 Things to Consider While Choosing a CI Platform

Continuous integration is one of the first steps in DevOps adoption. When choosing a CI platform, keep these ten factors in mind.

By 
Pavan Belagatti user avatar
Pavan Belagatti
DZone Core CORE ·
Updated Jun. 22, 17 · Opinion
Likes (4)
Comment
Save
Tweet
Share
12.1K Views

Join the DZone community and get the full member experience.

Join For Free

Continuous integration (CI) is a software development activity that requires developers to integrate all source code into a shared repository several times a day. Each commit is then verified by an automated build, allowing teams to detect defects early in the cycle. The result of a CI step is typically a unit-tested and consistent codebase.

CI is one of the first steps towards adopting DevOps, so choosing the right CI platform will get you started on the right foot. And as we know, well begun is half done!   

Here's a list of the top ten things you should evaluate while choosing a CI platform.

1. Faster Builds

A CI platform's primary goal is to provide developers with fast feedback for every code change. To demonstrate how much this matters, let's take a simple example: You have a repository that has two commits every working day, which is approximately 500 commits every year.  If the build for this repository was 5 mins faster, you would save (5*500)/(60*8) = 5.2 working days every year! Now extrapolate that across multiple repositories and you'll see that even a few minutes improvement in build time adds up to massive productivity gains!

2. Integrations

Your CI platform should integrate with all languages and third-party tools you need for your builds. Your source control system should be supported, as well as programming language(s), testing tools, packaging tools, and the package repository or deployment endpoint to which you want to push the application package. It should be easy to hook up these integrations and start working immediately. In general, look for a platform that has the maximum number of integrations, so that you are not restricted in adopting different tools in the future.

3. Free Plan

A free plan or trial period is a crucial factor while choosing a CI platform. Without a free plan, you won't know exactly how the tool works, and it's also difficult to compare with competitive products and make a decision. A smart CI platform should persuade its potential customers to try them with a free plan or an unrestricted free trial. Once people see the value of premium features, they can make an informed choice of what they really need. 

4. Quick and Easy Setup

The CI service needs to be fast and easy to onboard and use. If you find yourself asking too many questions about how to use a platform to achieve simple scenarios, it might mean the service is complicated and overkill for your needs. Look for great documentation and samples, and even more important, the ability to ask questions over live chat.

5. Container Support

Docker is becoming more popular by the day, and you should choose a CI platform with native Docker support. Even if you do not use Docker today, it's highly likely that you will try it within the next year. You should plan ahead so the CI platform doesn't become the bottleneck in moving to Docker.  

6. Testing With Multiple Runtimes, Versions, and Environments

Your CI platform should allow you to trigger multiple builds for each commit so you can make sure your application will run correctly in different scenarios. This can also help you test against an edge version of a language and find potential issues even before you officially adopt the new language version. 

7. Integrated Code Coverage and Test Results Visualization

Your CI tool already has the information it needs to display your test and code coverage results, so you shouldn't need to use coveralls and any separate for this. Code coverage and test results should be integrated into the results for every build.

8. Build-as-Code

The CI platform should support easy configuration through a universal code-based syntax like a YAML file, which can live with your source code and be versioned. UI-based configuration is unwieldy and there is usually no history of who changed what.  

9. Flexible Infrastructure Options

Your CI platform should support your infrastructure, processing, and security requirements. If your builds are resource intensive, you should have the ability to buy bigger nodes. If you're a Fintech company with strict compliance requirements or expect to move all your software development behind a firewall for any reason, you should make sure your CI provider has an enterprise version. 

Recognizing that a lot of organizations need to run behind the firewall but do not want to manage their own CI infrastructure, we offer a unique option called BYON. BYON allows you to use your own behind-the-firewall infrastructure with our hosted service, so you get the best of both worlds.

10. Customer Success

Last but not the least, ask if the organization has a customer success team and allows access to developers without too much red tape. We've all been frustrated by traditional customer support representatives who do not have a great understanding of the product or customer scenarios and offer superficial support. If an organization builds a customer success team, it indicates their willingness to take a proactive approach to all customer-focused activities, including support.  

Make sure you look for these features mentioned above before selecting your CI platform. Choosing a better CI service can help you save time and effort.

Shippable is one such tool that has all the above-mentioned features and aspects.

Continuous Integration/Deployment Software development

Published at DZone with permission of Pavan Belagatti, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • CI/CD Pipelines in the Cloud: How Cloud Hosting Is Accelerating Software Delivery
  • What Is API-First?
  • A Concise Guide to DevSecOps and Their Importance in CI/CD Pipeline
  • Securing Your CI/CD Pipeline

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: