- Mastering Microservices with Java
- Sourabh Sharma
- 316字
- 2021-07-02 13:03:37
Continuous integration
When you are developing, the code is scattered between many teams and various technologies. This code may be organized into different modules and may have applicable bounded contexts for respective sub-models.
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. This happens not only because of the large size of the code and the 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.
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 one of the key reasons for development today, so it plays a very important role. In continuous integration, 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 on 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.
- Java 開發(fā)從入門到精通(第2版)
- Building a Home Security System with Raspberry Pi
- Mastering OpenCV Android Application Programming
- Mastering Selenium WebDriver
- Java游戲服務器架構實戰(zhàn)
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- Learning Neo4j 3.x(Second Edition)
- Python算法從菜鳥到達人
- PHP 7+MySQL 8動態(tài)網(wǎng)站開發(fā)從入門到精通(視頻教學版)
- Learning Vaadin 7(Second Edition)
- Create React App 2 Quick Start Guide
- C++從入門到精通(第5版)
- Python機器學習算法: 原理、實現(xiàn)與案例
- Python High Performance Programming
- OpenResty完全開發(fā)指南:構建百萬級別并發(fā)的Web應用