VOOZH about

URL: https://thenewstack.io/engineering-best-practices-of-ci-pipelines/

⇱ Engineering Best Practices of CI Pipelines - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2023-01-02 09:00:02
Engineering Best Practices of CI Pipelines
sponsor-foresight,sponsored-post-contributed,
CI/CD / Software Development

Engineering Best Practices of CI Pipelines

A look at strategies implemented by software giants, so you can benefit from their experience and apply their strategies in our own CI/CD pipelines.
Jan 2nd, 2023 9:00am by Ismail Egilmez
👁 Featued image for: Engineering Best Practices of CI Pipelines
Feature image via Pixabay
Foresight sponsored this post.

Before the popularity of microservices architecture, developers had to build and deliver large software applications as single entities. Today a number of smaller applications are used simultaneously, each one focusing on a single aspect of business functionality. With smaller applications and teams with members with diverse backgrounds often working remotely, increased collaboration and reduced barriers between teams are essential features of an effective production environment.

DevOps and CI/CD

DevOps brings development and operations teams together, creating a cultural shift characterized by cooperation, collaboration and partnership between development and operations teams. This shift integrates the processes involved in the life cycle of microservice applications, enabling organizations to deliver products to market faster and more efficiently.

Continuous integration and continuous delivery or deployment (CI/CD) are DevOps practices that streamline the process of creating and deploying applications. The term “continuous” in CI/CD represents two essential characteristics:

  • First, the application’s integration and delivery will be continuous, with minimal human interaction and a high level of automation.
  • Secondly, the software packages built and deployed will each be as small as possible, allowing the incremental delivery of software updates.
Foresight lets you monitor your GitHub Actions workflows, tests, and untested code changes on a single dashboard. It visualizes your GitHub Actions workflows by status, duration, and cost. It helps optimize build duration, enable more frequent deployments, boost productivity, and lower CI costs.
Learn More
The latest from Foresight

Shift Left

The most significant advantage of CI/CD systems in the cloud native era is that they enable “shift left” practices. Shift left means working to guarantee an application’s security at the earliest possible stage in its development, which in practice means performing tests, integrations and quality checks during the initial stages of the software development process.

Although CI/CD has been part of the software development landscape for a number of years, as yet there is no one-size-fits-all CI/CD platform. Since organizations have different needs and objectives, their expectations from their CI/CD platforms are also diverse. However, there are well-established best practices when it comes to cloud native CI/CD, no matter which platform you’re using.

Best Practices for CI/CD

Let’s look at strategies implemented by software giants including Google, Facebook and VMWare, so you can benefit from their experience and apply their strategies in our own CI/CD pipelines.

Conduct Smaller Changes and Frequent Builds

Continuous integration relies on the fact that all source code, configuration and dependencies are defined in the source control repository. Any time a change is made to data in the repository, the CI system will trigger a set of tasks to ensure that the change has been integrated successfully, without any conflicts.

To benefit from CI/CD systems, each team member should deliver their changes in small chunks to the source code repository. By performing minor changes and frequent builds, engineering time used on integration will be minimized, reducing inefficiency and related costs. Small changes also help to keep delivered and deployed packages manageable and controllable. This means that both users and operators will be presented with less complexity in the updated application.

Automate Tests and Green Builds

The essence of a CI/CD system is to aim for green builds and to resolve issues quickly when a red build occurs, meaning a test failed. When the automated tests run, any failure results should be visible to all team members. Then, it should be a top priority for the team to make the build work again.

Green builds and rapid fixes are critical for two reasons. First, when tests are failing, it is not possible to test forthcoming development and changes accurately. Secondly, continuous deployment will be halted, because no new and validated packages exist. Although it may seem like a frustrating situation to stop active development and instead focus on fixing failed tests, this mindset will ensure optimal application stability.

Create a Gatekeeper for Production

An efficient CI/CD system should be the only path that leads to the production environment. In other words, if you have confidently built a CI/CD system with a comprehensive set of tests, there should be no other way to deploy applications to the production system. It can be highly tempting — and common — to maintain administrator privileges and deploy an application to the production systems just once. Most often, this problematic practice happens when someone is tempted to test a new feature quickly in production, or fix an issue with untested code. Since these changes haven’t been tested thoroughly, they can cause bigger breaks and create security issues. However, you undermine your processes and prior efforts when these applications have yet to pass all the CI/CD system stages and tests.

Use Deployment Strategies

Deployment strategies are the techniques used to launch a new version of the software. They are a key aspect of DevOps, since they help to minimize downtime and risk, and detect problems early in the development cycle. In addition, deployment strategies fit in well with the concept of making frequent but minor changes, performing frequent deployments and automation. Some well-known deployment strategies include:

  • Rolling upgrade deployment: Incrementally releases new updates and removes old versions if there are no issues indicated in testing.
  • Canary deployment: Releases new features to a subset of users initially, checking if there are any issues in practice before rolling out the feature to all users.
  • Blue/green deployment: Requires two production-ready environments, one idle, often termed “blue,” and one active, labeled “green.” Changes are tested on blue; if everything looks OK, the blue environment is set to active while the green becomes idle.

Most cloud native platforms, such as Kubernetes, support zero-downtime runtime deployment strategies out of the box. You only need to configure your deployment strategies in the continuous delivery stages of your CI/CD pipeline.

Foresight lets you monitor your GitHub Actions workflows, tests, and untested code changes on a single dashboard. It visualizes your GitHub Actions workflows by status, duration, and cost. It helps optimize build duration, enable more frequent deployments, boost productivity, and lower CI costs.
Learn More
The latest from Foresight
TRENDING STORIES
Ismail Egilmez is business development manager at Thundra, where he handles content marketing, outbound sales, partners and alliances. He is an AWS Community Builder and cloud enthusiast.
Read more from Ismail Egilmez
Foresight sponsored this post.
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Pragma.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.