- Continuous Integration,Delivery,and Deployment
- Sander Rossel
- 455字
- 2021-07-02 15:42:11
Continuous Deployment
The final stage of automating your software development process is Continuous Deployment. When practicing Continuous Deployment, every check into your source control is deployed to a production (like) environment on a successful build. The rationale behind this is that you are going to deploy the software to production sooner or later anyway. The sooner you do this, the better the chance you'll be able to fix bugs faster. It's easier to remember what you did yesterday that might have caused the bug than it is to remember what you did two months ago that might have caused the bug. Imagine checking some code into source control and get error messages from your production environment five minutes later. You'll be able to find and fix the bug immediately and, five minutes later, the production software is up and running without bugs again. Unfortunately, most managers and software owners I know get pretty nervous at the thought of automated deployment, let alone automated deployment on every check in.
Again, as with Continuous Delivery, Continuous Deployment is not always possible. All the issues with Continuous Delivery still apply, except now when a DBA doesn't give you access to the database, Continuous Deployment is pretty much out of the question. After all, you can't automatically deploy software multiple times a day while your database is only updated when some DBA has time. Currently, I'm working on a website for a customer who in turn has a customer who needs three days' notice before any changes to the website can be made. It's a contractual obligation and whether it makes sense or not, it is what it is. So in that particular case, Continuous Deployment is obviously a no-go. Still, we use this technique on our own test environment and automate as much as possible while still giving three days, notice.
The difference between Continuous Integration, Continuous Delivery, and Continuous Deployment may still be a bit vague. Consider the following image (I apologize for my poor MS Paint skills) which indicates where the three types start and stop:

- Vue.js 3.x快速入門
- Learning C++ Functional Programming
- Selenium Design Patterns and Best Practices
- MariaDB High Performance
- Elastic Stack應(yīng)用寶典
- Windows Presentation Foundation Development Cookbook
- Java Web程序設(shè)計(jì)任務(wù)教程
- 利用Python進(jìn)行數(shù)據(jù)分析(原書第3版)
- Access 2010數(shù)據(jù)庫應(yīng)用技術(shù)(第2版)
- Advanced Express Web Application Development
- 監(jiān)控的藝術(shù):云原生時(shí)代的監(jiān)控框架
- 你真的會寫代碼嗎
- Android編程權(quán)威指南(第4版)
- HTML5程序設(shè)計(jì)基礎(chǔ)教程
- Learning iOS Penetration Testing