Home > Article > Operation and Maintenance > What do ci and cd mean in docker?
In docker, ci refers to Continuous Integration (Continuous Integration), and cd refers to Continuous Deployment (Continuous Deployment); "CI/CD" is a method that frequently introduces automation in the application development phase. The core concepts of how customers deliver applications are continuous integration, continuous delivery and continuous deployment.
The operating environment of this tutorial: linux7.3 system, docker version 19.03, Dell G3 computer.
CI Continuous Integration (Continuous Integration)
CD Continuous Deployment
CI/CD is a method of frequently delivering applications to customers by introducing automation during the application development phase. The core concepts of CI/CD are continuous integration, continuous delivery and continuous deployment. As a solution for development and operations teams, CI/CD targets the issues that arise when integrating new code. Specifically, CI/CD enables continuous automation and continuous monitoring throughout the entire lifecycle of an application (from the integration and testing phases, through delivery and deployment). These related efforts are often collectively referred to as the "CI/CD pipeline" and are supported collaboratively by development and operations teams in an agile manner.
What is continuous integration?
The development tools we use are generally called IDEs, which literally translates to integrated development environments. In human terms, continuous integration means that after you submit the code, you do not need to recompile and package it yourself.
Gitlab has a function called WebHook. Its function is that after you upload the code, it will notify you of the code update through the URL specified by WebHook. In fact, this function is very simple to write by yourself. When the new code is pushed, it will notify you of the update. You pull the new code, compile and package it, it's not hard.
In addition to using WEBHOOK, the CI/CD that comes with Gitlab is also very convenient. You need to install a GitRunner.
There is also a polling scanning method that can also be implemented.
What is continuous deployment?
When you have multiple servers, your packaged code needs to be uploaded to the server one by one and then re-run the service. This is a waste of manpower and time. The purpose of continuous deployment is to Free your hands.
Expand knowledge
Jenkins is the leader in open source CI&CD software, providing more than 1,000 plug-ins to support build, deployment, and automation to meet the needs of any project.
This thing is used to help you do CICD. There are many plug-ins that can be used. Whether you are deploying through tomcat, running jar packages through ssh, or php projects, it can be implemented. In fact, if It's actually possible to write one yourself, but since you have something useful, don't write it yourself.
docker
Docker is an open source application container engine that allows developers to package their applications and dependencies into a portable container and then publish them to Virtualization can also be implemented on any popular Linux machine or Windows machine. The containers completely use the sandbox mechanism and will not have any interfaces with each other.
My personal opinion is that docker itself is based on containers. It does not consume unnecessary resources like virtual machines and facilitates migration on multiple platforms, eliminating the need for different operating environments. The confusion caused by this led to the emergence of the concept of containers.
docker compose
There is php composer in php. If you are familiar with php, you should easily know what docker compose does. If you have several images to run and have written several dockerfiles, you need to create the images one by one through docker build, and then run them one by one through docker run.
The function of docker compose is that you only need to write the dockerfile, and then write a compose yml. With one command, you can directly create an image and run it, which saves a lot of things and can better reflect the concept of service in compose. .
docker swarm
Docker cluster, you have several servers, and docker is installed at the same time, then you will use docker swarm, its function is to unify Docker, which manages these servers, has actually begun to favor the concept of services after using the swarm cluster.
Recommended learning: "docker video tutorial"
The above is the detailed content of What do ci and cd mean in docker?. For more information, please follow other related articles on the PHP Chinese website!