Continuous Integration and Continuous Delivery (CI / CD) Pipeline - 1
In previous post, I mentioned a bit about CI/CD. Now, I will try to explain detailly about CI/CD pipeline that is main skeleton of DevOps approach. Developers and IT operation teams work together to deliver the software during CI/CD pipeline steps.
The main benefit of CI/Cd pipeline, automation of software releases. Other benefits are reduced deployment time, decreased operaiton costs, continuous feedback ann monitoring so early error detection, enhanced reliablity and reduced downtime, increased collaboration between teams.
Let's detail of CI / CD pipeline steps a bit more;
- Plan: When we are in a process of developing a software in a company, probably this is a part of a project or IT service (change or incident). Let's suppose Agile project management. (for getting deep information about agile approach, please visit Scrum Website) For project, Scrum Master sets sprint plan. At the end of the sprint, DevOps teams must deliver a "value" (like a working part of a software)
- Code: This step includes code creation, modification and application lifecycle management for software asset with version control. DevOps teams could use any of toolset recording to company architecture. (Microsoft Technologies, Open Source Technologies )
- Build: This step is automated build and integration of the entire application. When developer finish the task, merges the code to main branch. Before merge operation, I strongly advice to code review and approval. This will increase code quality and prevent possible errors. In approval step senior developer or team leader could review and approve or back to developer to improve code.
- Test: After reviewed and built code, unit tests and static code analysis should be run. It will be better if developer write test code. Writing test code will provide automation for unit test process. Othervise, every tests will be run manually by tester. One of the important part of this process is static code analysis. In this step, I prefer to use a static code anayse tool like SonarQube, GitLab etc. After all tests, developer must fix the bugs and vulnerabilities.
I will continue..
Comments
Post a Comment