loading...

CI/CD 101 | All you need to know

testingnews1 profile image TestingNews ・2 min read

Overview

The adoption of continuous integration (CI) and continuous delivery (CD) is on a rise, this growth possibly indicates the way how modern developers approach building great products. In the present context, CI/CD is at the core of DevOps, and both CI and CD constitute two of the most important processes in any DevOps pipeline. In this article, we will provide you with more insights into this notion, their benefits and how these practices are performed.

What is Continuous Integration?

Continuous Integration
Continuous Integration is a development practice that allows you to continuously integrate code into a single shared and easy to access repository.

What is Continuous Delivery?

Continuous delivery (CD) is the ability to deploy your integrated code into production without the need of human intervention. CD allows you to take the code stored in the repository and continuously deliver it to production.

Benefits of CI/CD

CI/CD creates a fast and effective process of getting your product to market before your competition as well as releasing new features and bug fixes to keep your current customers happy. Below are some of the benefits of implementing CI/CD pipelines to your everyday software development process:

  • Reduce cost
  • Faster release rate
  • Smaller code changes
  • Increase team transparency and accountability
  • Easy maintenance and updates

CI/CD Workflow Pipeline

Continuous Delivery
A CI/CD pipeline is a path for delivering a unit of change that starts from development to delivery, usually consists of the 4 main phases, namely commit, build, automate tests and deploy.

Phase 1: Commit
When developers complete a change, they commit the change to the repository.

Phase 2: Build
Source code from the repository is integrated into a build.

Phase 3: Automate tests
Automated tests are run against the build. Test automation is an essential element of any CI/CD pipeline.

Phase 4: Deploy
The built version is delivered to production.

Test Automation in a CI/CD pipeline

The benefits of applying CI/CD cannot be realized if there is lack of automated testing. Test automation is a crucial component of any CI/CD pipeline. Teams need to perform automated testing at all levels, including system test, unit testing, and integration test. In addition, teams also need to apply automation testing for multiple testing types such as usability, load, performance, security, functionality, and stress.

Conclusion

In our modern era of software delivery, CI/CD practices are currently the most widely accepted choice to shorten software development and delivery cycle time. CI/CD can create a fast and effective process of getting your product to market before your competition as well as releasing new features and bug fixes to keep your current customers happy. So now it’s a good time for you to start learning CI/CD if you haven't done so, it will be a valuable skillset with high demand for the future to come.

Posted on Aug 20 '19 by:

testingnews1 profile

TestingNews

@testingnews1

I hope that my blog could give you a better understanding of Software Testing as well as the importance of Automation future.

Discussion

markdown guide
 

Direct and clear. Superb explanation!