×

Exploring Continuous Integration and Continuous Deployment (CI/CD)

image of Leo Leong
Leo Leong

September 11

First of all, before understanding CI/CD, let's briefly explain DevOps. The concept of DevOps is a collaborative approach to enable the overall development work to take care of speed and quality at the same time, often due to the different starting points of thinking between Development and Operations. The concept of DevOps is a collaborative approach to enable the overall development work to take care of both speed and quality. Through the collaborative operation of developers and IT staff, integration of technology, and process automation, the efficiency of inter-organizational cooperation and the quality of products can be effectively improved. The CI/CD tool is also an automation tool for this concept. Through continuous integration and continuous deployment, it automatically helps developers detect code problems at the development stage and deploy them to servers.
image of Exploring Continuous Integration and Continuous Deployment (CI/CD)

Efficiency and Quality comes with Continous Integration and Continous Deployment

CI (Continuous integration).


Process:

“Program Build
After each Commit and push, developers can automatically build the program in a unified environment. Through this step, each developer can avoid service anomalies due to different environments and package versions.

“Program Testing
After the program is compiled, it will be tested through “Unit Test” to see if the newly written functions are correct or to confirm if there is any impact on the existing functions. Carrying out the test through this step, it can prevent developers from forgetting to check it locally first, which can serve as a “double validation” function.

Purpose:

Reduce the risk of human error
Reduce the number of repetitive manual steps
Perform version control
Increase system consistency and transparency
Reduce team loading

CD (Continuous Deployment).


Process:

“Deployment Service
Through automation, the written code will be updated to the machine and open to external services, in addition to the need to ensure that the package version & database data integrity, but also through the monitoring system to carry out service survival checks, if the service is abnormal, it will immediately send a notification to the developer.


Purpose:

Maintain the smooth completion of each program update
Ensure service survival

Continuous Integration Continuous Deployment