当前位置:网站首页>Are you ready to automate continuous deployment in ci/cd?
Are you ready to automate continuous deployment in ci/cd?
2022-07-07 00:21:00 【Software testing network】
Many companies are scrambling to implement continuous integration and continuous delivery (CI/CD) The Conduit , To simplify their software development workflow . Few people take additional steps to automate continuous deployment , It's a use CI/CD Pipeline continuously pushes changes into production . Understandable .
The idea of pushing code to the production environment frequently every day or hour makes me shudder .
However , Great changes have taken place in the past few years , More and more devops The team is adopting skills 、 Practices and tools come from the automation of high-quality and reliable deployment . This article explains the difference between continuous delivery and continuous deployment , And then put forward devops Team in CI/CD Five things you should do before automating continuous deployment in the pipeline .
Continuous delivery and continuous deployment
Capgemini Head of agile and development operations KulbirRaina Shared a definition that helps us distinguish between continuous delivery and continuous deployment . He said :“ Continuous delivery is an end-to-end automated process from software release to production , Continuous deployment is an automated process that pushes the software packages in the process to continuous integration after production through a pre-test process .”
Automated production deployment has more risks , Because the result will affect the business 、 Customers and end users . If devops The team decided to automate the deployment , Then the deployment process must include continuous testing and powerful error handling . otherwise , Deployment may cause performance problems in production 、 Unreliable system 、 Security vulnerabilities and flaws .
SPR Director of software engineering MikeSaccotelli Add :“ The main difference between organizations that run the continuous delivery model and the continuous deployment model lies in the maturity and complexity of their construction and deployment processes .”
Devops The team can use the following checklist to prepare for the upgrade CI/CD Pipeline for continuous deployment .
1. Evaluate business interests
As a principle , Continuous deployment can be applied to many applications , It can even be applied to the most regulated industries .Buildkite Co founder and co CEO of TimLucas say :“ Every project can adopt continuous deployment , The best organization sets goals , Move as many projects as possible to this model . Even in finance and regulated industries , Most projects can adopt this mode . We even see autonomous vehicle companies continue to deploy .”
although devops Teams can implement continuous deployment in many projects , But the problem is , Where does it provide a strong business case and significant technical advantages ? Frequently deploy functions and repair projects , As well as modern architecture to simplify automation projects , More promising transition to continuous deployment .
2. Prepare the development team
Lucas Shared some prerequisites that should be part of the software development process before migrating to the continuous deployment model . He said :“ Continuous deployment is true agility , Is the fastest way to change from code to production . It needs to always keep the main branch in a deliverable state 、 Automated testing and high-quality tools that you can trust and trust .”
Some of the development responsibilities and rules of developers who want to automate continuous deployment include :
- Use sufficient code coverage for continuous testing , To ensure that changes do not produce new defects .
- For testing security 、 Static and dynamic code analysis tools for performance and other code quality issues .
- Commitment to left shift safety practices , Including around API Security best practices .
- Observability standards around applications and microservices .
- Functional markers , So that new functions can be turned on and off , Or control to some users .
Saccotelli Add :“ The premise of continuous deployment is that the development team has a more mature understanding of quality code , Only in this way can this process succeed . If the code is poor or untested , That will create an unreliable system , And quickly push errors and vulnerabilities to the production environment .”
3. Prepare the operation team
therefore CI/CD Pipeline runs and deploys the new code to the production environment . Does this mean devops The team knows , Their work has been completed , Everyone can enter the next version ?
Not so fast . Although developers are trying to ensure that the build does not break 、 All the work of automating code testing and controlling which code is enabled in production , However, there are still some risks that deployment may lead to production problems . Monitor business services 、 Applications and systems are devops An operational responsibility in , Their ability to support continuous deployment began long before deployment automation was enabled . Best practices include the following :
- Use infrastructure that is, code and containers to ensure development 、 test 、 The infrastructure configuration between production and other environments is consistent .
- Use application and system level monitoring tools , These tools can also load and analyze observable data created by applications and microservices .
- Select a AIOps platform , The platform integrates monitoring throughout the stack, from applications to microservices and data storage 、 Alarms and observable data , And relate events to manageable events .
- Set the Canary version to control the switching and traffic of the new deployment , And reduce the risk of more difficult switching strategies .
- Have a set of powerful security tools , Include API gateway 、Web Application Firewall 、 Container safety 、 Threat monitoring and sensitive data monitoring , To reduce risks in highly dynamic application environments .
4. Integration across teams and tools ITSM And workflow
Even if all development and operation capabilities have been established , We haven't finished . hypothesis devops The team submits the code , Continuous deployment moves changes to production , And the application performance monitoring tool is running . Correct devops How often do team members receive alerts , So that they can classify events 、 Investigate the root cause and quickly resolve any problems ?
Lucas Sharing theory , When turning to continuous deployment ,“ Unstable testing is the first risk ”. He listed unreliable CI/CD Tools 、 Poor production monitoring and on call practice , And engineering and IT There is a lack of real partnership between them as a further risk .
If there's no monitoring 、AIOps、IT Service management (ITSM)、 Workflow and integration between agile and communication tools ,devops The time for the team to respond and solve problems may lag behind its deployment . This gap can cause stress , And weaken the partnership between development and operation . The best practice is to ensure integration IT Tools and workflow , So that the development and operation team can keep up with any problems arising from continuous deployment .
5. Define risk-based decision gates and KPI
Copado Product marketing director KristinBaskett Provides a key element for continuous deployment . She said :“ Although reckless automation may hinder the system , But proper automation can help organizations realize the real transformation from devops The flexibility and consistency needed to benefit . When developers can integrate code automatically , Collaboration will be improved . By investing in test automation and quality gating , Organizations can innovate faster , And reduce the risk .”
In addition to test automation ,Baskett It is also mentioned that the implementation should be extended to other quality gates of risk assessment . When build triggers continuous deployment , The quality department will implement the business rules , To determine which deployments can be put into production , Which may require compliance review or management signature .
Other best management practices that support continuous deployment include development devops Key Performance Indicators (KPI)、 Formalize feedback loops and develop communication strategies .
Continuous deployment can generate many business and technical advantages , But the discipline is strict DevOps Team and IT Organizations should ensure that they have best practices and tools before using automation to increase the frequency of deployment .
边栏推荐
- pinia 模块划分
- DAY TWO
- Pinia module division
- 准备好在CI/CD中自动化持续部署了吗?
- Designed for decision tree, the National University of Singapore and Tsinghua University jointly proposed a fast and safe federal learning system
- Leecode brush questions record interview questions 32 - I. print binary tree from top to bottom
- MySQL master-slave multi-source replication (3 master and 1 slave) setup and synchronization test
- Introduction au GPIO
- Leecode brush questions record sword finger offer 11 Rotate the minimum number of the array
- Use type aliases in typescript
猜你喜欢
Testers, how to prepare test data
JWT signature does not match locally computed signature. JWT validity cannot be asserted and should
基于GO语言实现的X.509证书
Core knowledge of distributed cache
DAY THREE
刘永鑫报告|微生物组数据分析与科学传播(晚7点半)
What is a responsive object? How to create a responsive object?
Building lease management system based on SSM framework
The programmer resigned and was sentenced to 10 months for deleting the code. Jingdong came home and said that it took 30000 to restore the database. Netizen: This is really a revenge
准备好在CI/CD中自动化持续部署了吗?
随机推荐
工程师如何对待开源 --- 一个老工程师的肺腑之言
X.509 certificate based on go language
Leecode brush question record sword finger offer 56 - ii Number of occurrences of numbers in the array II
Three application characteristics of immersive projection in offline display
【向量检索研究系列】产品介绍
Jenkins' user credentials plug-in installation
Use type aliases in typescript
Typescript incremental compilation
After leaving a foreign company, I know what respect and compliance are
Leecode brushes questions to record interview questions 17.16 massagist
Introduction to GPIO
"Latex" Introduction to latex mathematical formula "suggestions collection"
Close unregistering application XXX with Eureka with status down after Eureka client starts
js导入excel&导出excel
DAY THREE
The programmer resigned and was sentenced to 10 months for deleting the code. Jingdong came home and said that it took 30000 to restore the database. Netizen: This is really a revenge
【vulnhub】presidential1
How rider uses nuget package offline
DAY ONE
Leecode brush question record sword finger offer 58 - ii Rotate string left