CI|CD solutions
Design of CI and CD Methods
一、Overview
CI/CD is a method of delivering applications to customers frequently by introducing automation in the application development phase. The core concepts of CI/CD are continuous integration, continuous delivery, and continuous deployment. As a solution for development and operations teams, CI/CD mainly addresses issues caused when integrating new code.
Specifically, CI/CD enables continuous automation and continuous monitoring throughout the entire life cycle of an application, from the integration and testing phases to delivery and deployment. These related activities are often collectively referred to as the “CI/CD pipeline” and are jointly supported by development and operations teams in an agile manner.
CI – Continuous Integration
CD – Continuous Delivery
CD – Continuous Deployment
二、How to implement CI/CD
As shown in the figure below, after creating a branch, you can set various required build and test scenarios in the.gitlab-ci.yml file according to your needs. Once you push the local code to the code repository, the relevant gitlab-runner on Gitlab will execute your build and unit tests according to the pre-set scenarios in the.gitlab-ci.yml. After all tasks pass, it will automatically or manually trigger the deployment of your service to the corresponding server. After the service is deployed and there are no problems in the test, you can initiate a new merge request at this time, merge the feature branch with no problems in building, deploying, and testing into the main branch, and then continue the continuous delivery process of the service.

If we delve into the basic workflow, we can see the features available in GitLab at each stage of the DevOps lifecycle, as shown in the figure below.


三、Summary
CI/CD bridges the gap between development and operations teams by implementing automation in the building, testing, and deployment of applications.
DevOps emphasizes effective communication and collaboration among software developers, software testers, software operations, and quality assurance (QA) departments. It emphasizes the management of software changes and software integration through automated means, making the software development process from building to testing and release more convenient and reliable, and ultimately delivering the software on time. Modern DevOps practices involve the continuous development, continuous testing, continuous integration, continuous deployment, and continuous monitoring of software applications throughout the entire development life cycle. CI/CD practices or CI/CD pipelines form the backbone of modern DevOps operations.