In project development, multiple services need to rely on cooperation to function properly. During this process, if one of the services A is updated, other services that depend on A need to be updated to obtain the latest version of the current A to ensure the correct operation of the project.
Continuous Integration
In frequent development and version iterations, version updates are very common. If we manually upgrade after each service version update, it will be a lot of work and inefficient. So we use an automated tool to help us complete the automatic update and upgrade of dependencies between multiple services. Such an idea is called Continuous Integration , or CI for short.
The simple way is to put all the services in the Repositories in a directory whenever there is a version update, and run these services. If they all run successfully, the updated service is successful. If there is a problem, it must be If there is a problem with the updated service, the Revision fails this time.
continuous delivery
Continuous delivery is based on continuous integration. The code that completes CI is deployed in a class development environment . Managers can manually deploy this part of the code to the development environment. The advantage of this is that it can first observe whether there are problems with the updated services , if there is a problem, you can check it before going online.
In general, in addition to the server in the production environment and the server in the test environment, other servers still need to do the buffering between the two. We will publish the integrated code on the test server to the above, and further use CAT and Crane to detect whether There are issues, and if there are no issues after a while then release it in production.
Continuous deployment
Continuous deployment is carried out on the basis of continuous delivery, the last step in continuous delivery requires us to manually release it in the production environment. Continuous deployment, as the name suggests, the final release in production is done by automated tools instead of us. In continuous deployment, new services that are integrated and delivered are automatically released into production.
There are many frameworks for continuous integration, such as Jenkins.