- Mastering Microservices with Java 9(Second Edition)
- Sourabh Sharma
- 317字
- 2021-07-02 21:54:51
Continuous integration
When you are developing, the code is scattered among many teams and various technologies. This code may be organized into different modules, and has applicable bounded context for respective submodels.
This sort of development may bring with it a certain level of complexity with regard to duplicate code, a code break, or maybe broken-bounded context. It happens not only because of the large size of code and domain model, but also because of other factors, such as changes in team members, new members, or not having a well-documented model, to name just a few of them.
When systems are designed and developed using DDD and Agile methodologies, domain models are not designed fully before coding starts, and the domain model and its elements evolve over a period of time with continuous improvements and refinement happening gradually.
Therefore, integration continues, and this is currently one of the key reasons for development today, so it plays a very important role. In continuous integration, the code is merged frequently to avoid any breaks and issues with the domain model. Merged code not only gets deployed, but it is also tested on a regular basis. There are various continuous integration tools available in the market that merge, build, and deploy the code at scheduled times. These days, organizations put more emphasis on the automation of continuous integration. Hudson, TeamCity, and Jenkins CI are a few of the popular tools available today for continuous integration. Hudson and Jenkins CI are open source tools, and TeamCity is a proprietary tool.
Having a test suite attached to each build confirms the consistency and integrity of the model. A test suite defines the model from a physical point of view, whereas UML does it logically. It informs you of any error or unexpected outcome that requires a code change. It also helps to identify errors and anomalies in a domain model early on.
- C++案例趣學
- Docker and Kubernetes for Java Developers
- Kali Linux Web Penetration Testing Cookbook
- Mastering RabbitMQ
- 軟件測試工程師面試秘籍
- 編寫高質量代碼:改善C程序代碼的125個建議
- Microsoft Dynamics GP 2013 Reporting, Second Edition
- Monitoring Elasticsearch
- Functional Kotlin
- RabbitMQ Essentials
- 用戶體驗可視化指南
- Visual C#.NET Web應用程序設計
- QGIS 2 Cookbook
- Instant jQuery Boilerplate for Plugins
- 奔跑吧 Linux內核