- 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.
- Interactive Data Visualization with Python
- Three.js開(kāi)發(fā)指南:基于WebGL和HTML5在網(wǎng)頁(yè)上渲染3D圖形和動(dòng)畫(huà)(原書(shū)第3版)
- 飛槳PaddlePaddle深度學(xué)習(xí)實(shí)戰(zhàn)
- 深入淺出PostgreSQL
- Instant Nancy Web Development
- Python項(xiàng)目實(shí)戰(zhàn)從入門(mén)到精通
- 零基礎(chǔ)學(xué)C語(yǔ)言程序設(shè)計(jì)
- Getting Started with Polymer
- Learning VMware vSphere
- Python Deep Learning
- Continuous Delivery and DevOps:A Quickstart Guide Second Edition
- 例解Python:Python編程快速入門(mén)踐行指南
- Professional JavaScript
- 測(cè)試工程師Python開(kāi)發(fā)實(shí)戰(zhàn)
- 交互設(shè)計(jì)語(yǔ)言:與萬(wàn)物對(duì)話的藝術(shù)(全兩冊(cè))