How to use Docker containers for continuous integration and continuous deployment on Linux?
In the software development process, continuous integration and continuous deployment have become a trend. Not only do they speed up software development and release, they also improve software quality. In Linux systems, continuous integration and continuous deployment can be easily achieved using Docker containers. This article will introduce how to use Docker containers to achieve this goal.
1. Continuous integration
Continuous integration refers to frequently merging developer code into the main code, and then automatically building and testing the code. Using Docker containers can create an independent running environment for each developer, avoiding dependency issues and avoiding conflicts between codes. The following is an example of using Docker containers for continuous integration:
First, Docker needs to be installed on the Linux system. The installation can be completed with the following command:
sudo apt-get install docker-ce
After the installation is complete, you can verify whether Docker is installed successfully by running the following command:
docker --version
In the continuous integration process, first A Docker image needs to be created for each project. The Docker image contains the project's running environment and dependencies. Create a file named Dockerfile in the project root directory and add the following content:
FROM node:12 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . CMD ["npm", "start"]
The above content is an example of a Node.js project, and the specific content can be modified according to actual needs. Then use the following command to build the Docker image:
docker build -t myapp .
where, myapp is the custom image name.
In order to achieve continuous integration, you need to write a build script in the code repository. This script is responsible for pulling the latest code, building the Docker image, and pushing the image to the Docker image warehouse. The following is an example of a build script:
#!/bin/bash # 拉取最新的代码 git pull # 构建Docker镜像 docker build -t myapp . # 推送镜像到Docker镜像仓库 docker push myapp:latest
2. Continuous deployment
Continuous deployment refers to automatically deploying executable files or Docker images built through continuous integration to the production environment. The following is an example of using Docker containers for continuous deployment:
In the production environment, you first need to install Docker and Docker Compose. The installation can be completed through the following command:
sudo apt-get install docker-ce docker-ce-cli containerd.io sudo apt-get install docker-compose
After the installation is completed, you can verify whether Docker Compose is installed successfully through the following command:
docker-compose --version
In order to achieve continuous deployment, a Docker Compose file needs to be written in the production environment. This file defines the Docker container and related configuration that need to be run. The following is an example of a Docker Compose file:
version: '3' services: myapp: image: myapp:latest ports: - 8000:8000
The above is an example of a web application that maps the container's 8000 port to the host's 8000 port. Other configurations can be modified according to actual needs.
In order to achieve continuous deployment, you need to write a deployment script in the production environment. This script is responsible for pulling the latest version of the Docker image and using Docker Compose to start the container. The following is an example of a deployment script:
#!/bin/bash # 拉取最新的版本的镜像 docker pull myapp:latest # 使用Docker Compose启动容器 docker-compose up -d
Through the above steps, you can use Docker containers to achieve continuous integration and continuous deployment on Linux. This approach can greatly simplify the software development and release process and improve work efficiency.
Summary:
This article introduces how to use Docker containers for continuous integration and continuous deployment on Linux. By using Docker containers, an independent running environment can be created for each developer, avoiding dependency issues. At the same time, Docker Compose makes it easy to deploy and manage containers in a production environment. Hope this article is helpful to you.
The above is the detailed content of How to use Docker containers for continuous integration and continuous deployment on Linux?. For more information, please follow other related articles on the PHP Chinese website!