- Continuous Integration,Delivery,and Deployment
- Sander Rossel
- 288字
- 2021-07-02 15:42:08
Source control
CI starts with some shared repository, typically a source control system, such as Subversion (SVN) or Git. Source control systems make sure all code is kept in a single place. It's easy for developers to check out the source, make changes, and check in those changes. Other developers can then check out those changes.
In modern source control systems, such as Git, you can have multiple branches of the same software. This allows you to work on different stages of the software without troubling, or even halting, other stages of the software. For example, it is possible to have a development branch, a test branch, and a production branch. All new code gets committed on development; when it is tested and approved, it can move on to the test branch and, when your customer has given you approval, you can move it into development. Another possibility is to have a single main branch and create a new (frozen) branch for every release. You could still apply bug fixes to release branches, but preferably not new features.
Don't underestimate the value of source control. It makes it possible for developers to work on the same project and even the same files without having to worry too much about overwriting others' code or being overwritten by others.
Next to code, you should keep everything that's necessary for your project in your repository. That includes requirements, test scripts, build scripts, configurations, database scripts, and so on.
Each check into this repository should be validated by your automated build server. As such, it's important to keep check-ins small. If you write a new feature and change too many files at once, it becomes harder to find any bugs that arise.
- R語言經(jīng)典實(shí)例(原書第2版)
- Computer Vision for the Web
- ThinkPHP 5實(shí)戰(zhàn)
- Building a Home Security System with Raspberry Pi
- LabVIEW入門與實(shí)戰(zhàn)開發(fā)100例
- Visual FoxPro 程序設(shè)計(jì)
- Scala程序員面試算法寶典
- C語言開發(fā)基礎(chǔ)教程(Dev-C++)(第2版)
- 好好學(xué)Java:從零基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)
- HoloLens與混合現(xiàn)實(shí)開發(fā)
- 開源項(xiàng)目成功之道
- GameMaker Essentials
- Scala編程(第5版)
- DB2SQL性能調(diào)優(yōu)秘笈
- 絕密原型檔案:看看專業(yè)產(chǎn)品經(jīng)理的原型是什么樣