- 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.
- JavaScript前端開發(fā)模塊化教程
- TypeScript Blueprints
- Java 開發(fā)從入門到精通(第2版)
- Dependency Injection in .NET Core 2.0
- SQL Server實用教程(SQL Server 2008版)
- Python編程:從入門到實踐(第3版)
- Hadoop 2.X HDFS源碼剖析
- App Inventor少兒趣味編程動手做
- Python Machine Learning Blueprints:Intuitive data projects you can relate to
- 愛上C語言:C KISS
- Python應用與實戰(zhàn)
- Web前端開發(fā)技術實踐指導教程
- Flask Web開發(fā)實戰(zhàn):入門、進階與原理解析
- 信息安全技術(第2版)
- C++ Primer(中文版)(第5版)