- 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.
- Mastering Visual Studio 2017
- GAE編程指南
- The Modern C++ Challenge
- AIRAndroid應用開發實戰
- Windows Presentation Foundation Development Cookbook
- 數據結構(C語言)
- Create React App 2 Quick Start Guide
- Advanced Express Web Application Development
- Python大學實用教程
- Serverless Web Applications with React and Firebase
- Swift語言實戰晉級
- 遠方:兩位持續創業者的點滴思考
- Applied Deep Learning with Python
- 企業級Java現代化:寫給開發者的云原生簡明指南
- C#程序設計基礎與實踐