SEARCH (ENTER TO SEE ALL RESULTS)
Cancel Search
POPULAR TOPICS
Contributed
sponsored-post-contributed
News
Analysis
The New Stack Makers
Tutorial
Podcast
Feature
Research
Profile
The New Stack Logo
Skip to content
  • Podcasts
  • Events
  • Ebooks
    • DevOps
    • DevSecOps
    • Docker Ecosystem
    • Kubernetes Ecosystem
    • Microservices
    • Observability
    • Serverless
    • Storage
    • All Ebooks
  • Newsletter
  • Sponsorship
  • • • •
    • Podcasts
      • TNS @Scale Series
      • TNS Analysts Round Table
      • TNS Context Weekly News
      • TNS Makers Interviews
      • All Podcasts
    • Events
    • Ebooks
      • Machine Learning
      • DevOps
      • Serverless
      • Microservices
      • Observability
      • Kubernetes Ecosystem
      • Docker Ecosystem
      • All Ebooks
    • Newsletter
    • Sponsorship
Skip to content
  • Architecture
    • Cloud Native
    • Containers
    • Edge/IoT
    • Microservices
    • Networking
    • Serverless
    • Storage
  • Development
    • Development
    • Cloud Services
    • Data
    • Machine Learning
    • Security
  • Operations
    • CI/CD
    • Culture
    • DevOps
    • Kubernetes
    • Monitoring
    • Service Mesh
    • Tools
Search The New Stack
 

CI/CD

▾ 6 MINUTE READ — CLOSE

Understanding CI/CD Automation
The continuous integration and continuous delivery (CI/CD) method are transforming DevOps. Even if each step of the software development lifecycle can be carried out manually, CI/CD automates the stages in software development and deployment.
Continuous Integration (CI)
Continuous integration is the process of merging code (updates or existing features) with an existing codebase (software tool or product, for example). CI is a development practice where developers merge code in a central repository several times daily.

In CI, each line of code added to the codebase triggers a sequence in a CI/CD pipeline, generating feedback to developers. This process allows improvements to be made quickly and easily.
Continuous Delivery (CD)
CD is the attempt to speed up and automate deployments. An operator can push out multiple deployments in a week across numerous services and know the exact condition of the applications and infrastructure in the course of the deployments.

“Continuous delivery is the natural extension of continuous integration, an approach in which teams ensure that every change to the system is releasable, and release any version with the push of a button. Continuous delivery aims to make releases boring so that we can deliver frequently and get quick feedback on what users care about.” — Thought Works

The Focus of a CI/CD Pipeline
To run a CI/CD pipeline successfully, organizations should outline goals that guide developers’ approaches and processes. While each pipeline is unique, it should reflect some overarching goals.

Here are some results that should be the focus of the pipeline:
Quick Fixes and Improvements in Subsequent Updates
CI/CD automation allows code changes to reflect in end users’ software automatically. CI/CD pipelines should prioritize quick fixes and improvements to existing code to improve software quality and user experience.
Push Button Deployments
Continuous delivery requires a “state” machine, which is not provided by CI tools. CD tools, such as Spinnaker, have the ability to take an environment from one state to the next until it makes it all the way to production. The machine will move the environment, such as Docker containers, through to production in an automated fashion. It will even have the ability to do things such as rollbacks, canary deployments, and scaling instances. This process allows for the agile, push-button, automated deployments that an ideal CD mindset drives towards. Such pipelines are at the core of CD capabilities because they orchestrate a repeatable deployment over stages.
Fast and Frequent Software Releases
One of the higher-level achievements in a DevOps transformation is continuous delivery. Focusing on software releases in a CI/CD pipeline is a cultural shift for companies because it involves organizational change, too. DevOps transformation means building cross-functional teams with common goals, aligning the organization around the architecture and creating a culture of continuous improvement.
The Structure of an Effective CI/CD Workflow
The process for achieving CI/CD goals has been broken down into six stages. The goal is to ensure that new and runnable code is fit for use before it’s sent out to end-users.

Most unique and effective pipelines mirror the following structure:

Each new pipeline run is triggered by a change in the source code repository. An update or variation to the existing code — such as automated workflows or results from a previous pipeline run — begins the CI/CD process.
In this stage, runnable instances of code that could potentially be deployed to end-users are created. This is done through a combination of source code and its dependencies. Code that does not pass this stage indicates a problem with the project’s configuration and should receive immediate attention.
Automated tests are run on the code to determine its accuracy. These tests, created by software developers, are required to meet certain standards. Multiple tests run at this stage would detect bugs or other problems developers do not foresee. The test could take minutes or several hours, depending on its complexity. Code that does not successfully pass this test stage instantly notifies the development team that adjustments need to be made.
After code is tested and considered runnable, it’s delivered to the repository.
Deploy. Once code passes all predefined tests, the runnable code in the repository is deployed into different environments, such as a staging environment for the internal team and a production environment for end-users.
Validation and Compliance. Organizational needs determine what takes place in validation and compliance. For example, image security scanning tools ensure image quality and match them against known vulnerabilities.

The Approach to Cloud Native CI/CD Tools Is Changing
An increasing focus on continuous delivery (CD) has brought new tools and practices that allow teams to produce frequent, fast, and, above all, boring automated releases. Cloud native CI/CD requires a deeper understanding of DevOps practices and how they affect the way organizations deploy and manage workloads using containers, microservices, and serverless functions.

A new approach to continuous integration and continuous delivery (CI/CD) is emerging for cloud native architectures. With cloud native architectures, complexity is shifting away from building and assembly of code towards orchestration of releases. Build tools such as Travis CI and Jenkins are starting to commoditize and become much simpler. As more and more organizations get comfortable with building custom code using containers and other immutable constructs, they spend fewer cycles on building that code and shift into solving the problems of orchestrated releases.
Impact of Kubernetes CI/CD
Kubernetes, the open source container orchestrator, makes CD easier to execute with tools, modularity, and immutable infrastructure. Kubernetes simplifies deployment and monitoring of microservices. It helps define a container deployment and manage instances but leaves it up to the user to automate those deployments into environments.

Here are some proven practices for improving Kubernetes CI/CD:

Implementing Blue-Green Deployment Strategy. Similar to the way we prepare for emergencies, this strategy involves a pattern that creates an additional set of production instances to existing instances for quick switching in case of failure or downtime. The blue represents the staging environment, while the green represents the production environment.
Leveraging Git-Based Workflows. CI/CD pipelines should be activated through GitOps. This ensures that changes and source code in the pipeline are stored in a unified source repository for ease of correction and deployment.
Testing and Scanning New Container Images. Testing and scanning container images every time a new image is created can handle vulnerabilities such as configuration issues introduced with new builds. It also ensures that commands are working properly.

Challenges with the CI/CD Framework
As much as the CI/CD process is evolving, it is not without challenges. Some difficulties faced include:

Version Control. The CI/CD model requires the creation of versions from the source code repository to ensure continuity. Managing these variations can be difficult because of the number of changes made.
Faulty Tests. As new code is written, developers are expected to write multiple tests to determine the accuracy and behavior of products. If the right tests aren’t administered, developers may receive faulty feedback loops, which could affect the end product entirely.
Security Breaches. Concerns have been raised on the security of the CI/CD process in the development, integration, and deployment phases. Software developers are urged to develop security measures alongside the code writing process and not at the end of the cycle.

CI/CD practices are constantly getting refined. Learn more about CI/CD trends, new approaches, and opinions of industry experts through The New Stack articles in this category.


The New Stack Newsletter Sign-Up
A newsletter digest of the week’s most important stories & analyses.
Do you also want to be notified of the following?
We don’t sell or share your email. By continuing, you agree to our Terms of Use and Privacy Policy.
CI/CD / DevOps / Tools / Sponsored / Contributed
Why Unit Tests Aren’t the Only Answer to Continuous Delivery
15 Jan 2020 9:13am, by Chip Childers
CI/CD / DevOps / Kubernetes / Sponsored / Contributed
How to Enable Cloud Native DevOps with Kubernetes and Hyper-Converged Infrastructure
9 Jan 2020 10:18am, by Arvind Gupta
https://cdn.thenewstack.io/media/2016/01/PodcastBrandingOverlay_TNS_Makers.svg
CI/CD / Cloud Native Ecosystem / Kubernetes / Sponsored
CloudBees’ CEO on What At-Scale Development Should Look Like in 2020
8 Jan 2020 4:00pm, by Alex Williams and B. Cameron Gain
CI/CD / DevOps / Kubernetes / Sponsored / Contributed
How Containerized CI/CD Pipelines Work with Kubernetes and GitLab
8 Jan 2020 1:39pm, by Nico Meisenzahl
CI/CD / Kubernetes
HyScale Offers Open Source Application Delivery Automation Tool for Kubernetes
31 Dec 2019 6:00am, by Mike Melanson
CI/CD / Kubernetes
Argo Rollouts: How Intuit Does Blue/Green and Canary Deployments on Kubernetes
27 Dec 2019 10:28am, by Susan Hall
CI/CD / DevOps / Linux / Software Development
The Linux Kernel as a Case Study on Rapid Development for Complex Software
25 Dec 2019 9:00am, by Jack Wallen
https://cdn.thenewstack.io/media/2016/01/Podcasts-Overlay-Context.svg
CI/CD / Sponsored
The New Stack Context: Optimize Your Continuous Integration and Delivery
21 Dec 2019 1:00pm, by TNS Staff
CI/CD / DevOps / Security / Sponsored / Contributed
The Power of SecOps: Redefining Core Security Capabilities
20 Dec 2019 10:42am, by Thomas Hatch
CI/CD / Machine Learning
Add It Up: How Long Does a Machine Learning Deployment Take?
19 Dec 2019 10:33am, by Lawrence E Hecht
CI/CD / DevOps / Software Development / Sponsored / Contributed
Part 2: How Checklists on GitHub and GitLab Can Help Team Collaboration
19 Dec 2019 10:01am, by Darwin Sanoy
https://cdn.thenewstack.io/media/2016/01/PodcastBrandingOverlay_TNS_Makers.svg
CI/CD / DevOps / Sponsored
Software Delivery Management for What Ails CI/CD
18 Dec 2019 5:00pm, by Alex Williams and B. Cameron Gain
CI/CD / DevOps / Sponsored
The Necessary Cultural Evolution Driving Continuous Delivery
18 Dec 2019 10:14am, by Jennifer Riggins
https://cdn.thenewstack.io/media/2016/01/PodcastBrandingOverlay_TNS_Makers.svg
Audrius Stripeikis and Parasar Kodati at KubeCon San Diego
CI/CD / DevOps / Kubernetes / Storage / Sponsored
How the Container Storage Interface (CSI) Boosts Cloud Native DevOps
17 Dec 2019 5:00pm, by Jennifer Riggins and Alex Williams
https://cdn.thenewstack.io/media/2016/01/PodcastBrandingOverlay_TNS_Makers.svg
Liran Tancman and Corey Scobie at ReInvent 2019
CI/CD / DevOps / Security / Sponsored
Chef and Rezilion Partnership Centers on Automation
12 Dec 2019 7:45pm, by Jennifer Riggins and Alex Williams
CI/CD / DevOps / Sponsored
Continuous Documentation in a CI/CD World
10 Dec 2019 11:29am, by Jennifer Riggins
Bees in flight
CI/CD / Cloud Native Ecosystem / Sponsored
Creating a Full-Stack Team with Continuous Delivery as a Service 
5 Dec 2019 11:30am, by Jennifer Riggins
https://cdn.thenewstack.io/media/2016/01/PodcastBrandingOverlay_TNS_Makers.svg
Janakiram MSV, Analyst, at KubeCon San Diego 2019
CI/CD / Data Science / Kubernetes / Sponsored
Kubernetes: It’s Not Easy but What’s to Come?
3 Dec 2019 5:00pm, by Alex Williams and B. Cameron Gain
https://cdn.thenewstack.io/media/2016/01/PodcastBrandingOverlay_TNS_Makers.svg
CI/CD / DevOps / Kubernetes / Sponsored
How to Make User Interfaces, Pipelines and Jenkins X an Easier Fit
26 Nov 2019 3:00pm, by Alex Williams and B. Cameron Gain
CI/CD / Kubernetes
How to Install Jenkins X on an Existing Kubernetes Cluster
23 Nov 2019 9:51am, by Jack Wallen
CI/CD / DevOps / Technology / Sponsored / Contributed
Why Test Automation Tools Don’t Work (and What You Can Do About It)
21 Nov 2019 1:00pm, by Wayne Ariola
CI/CD / Cloud Services / Containers / DevOps / Sponsored
New JFrog Container Registry Free for Both On-Premises and Cloud Use
20 Nov 2019 7:26am, by Jennifer Riggins
CI/CD / Software Development / Sponsored
Codefresh Releases a Live Debugger for CI/CD Pipelines
19 Nov 2019 1:00pm, by Jennifer Riggins
CI/CD / Containers / Security / Software Development
Snyk Releases a Kubernetes-focused Container Security Platform
18 Nov 2019 8:30am, by Kayla Matthews
CI/CD / Microservices / Sponsored / Contributed
Four Steps to Set Up a CI/CD Pipeline in 20 Minutes
15 Nov 2019 8:04am, by Darby Frey
CI/CD / DevOps / Sponsored / Contributed
The Essential Elements of Modern Application Development 
14 Nov 2019 4:00pm, by David P. Butler
Pagination Previous Button
11 12 13 14 15 16 17 18 19 20
Pagination Next Button
Architecture
  • Cloud Native
  • Containers
  • Edge/IoT
  • Microservices
  • Networking
  • Serverless
  • Storage
Development
  • Cloud Services
  • Data
  • Development
  • Machine Learning
  • Security
Operations
  • CI/CD
  • Culture
  • DevOps
  • Kubernetes
  • Monitoring
  • Service Mesh
  • Tools
The New Stack
  • Ebooks
  • Podcasts
  • Events
  • Newsletter
  • About / Contact
  • Sponsors
  • Sponsorship
  • Disclosures
  • Contributions

© 2022 The New Stack. All rights reserved.

Privacy Policy. Terms of Use.