- 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.
- LabVIEW入門(mén)與實(shí)戰(zhàn)開(kāi)發(fā)100例
- Photoshop智能手機(jī)APP UI設(shè)計(jì)之道
- Java高手真經(jīng)(高級(jí)編程卷):Java Web高級(jí)開(kāi)發(fā)技術(shù)
- Visual C++實(shí)例精通
- C語(yǔ)言程序設(shè)計(jì)教程(第2版)
- Python爬蟲(chóng)開(kāi)發(fā)與項(xiàng)目實(shí)戰(zhàn)
- Python金融數(shù)據(jù)分析
- ADI DSP應(yīng)用技術(shù)集錦
- JavaScript入門(mén)經(jīng)典
- 深入淺出Serverless:技術(shù)原理與應(yīng)用實(shí)踐
- 基于ARM Cortex-M4F內(nèi)核的MSP432 MCU開(kāi)發(fā)實(shí)踐
- JavaScript程序設(shè)計(jì)(第2版)
- 算法圖解
- Visual Basic 程序設(shè)計(jì)實(shí)踐教程
- WCF技術(shù)剖析(卷1)