search
HomeOperation and MaintenanceLinux Operation and MaintenanceHow to configure continuous integration and continuous deployment (CI/CD) on Linux

How to configure continuous integration and continuous deployment (CI/CD) on Linux

In modern software development, continuous integration and continuous deployment (CI/CD) have become essential in the development process of many teams a part of. They help developers build, test, and deploy code quickly and efficiently. This article will introduce how to configure continuous integration and continuous deployment on Linux systems, and provide some code examples to help readers better understand.

  1. Install the necessary tools and dependencies

First of all, installing the necessary tools and dependencies on the Linux system is the first step in configuring the CI/CD process. Among them, the most common tools are Git, Docker and Jenkins. The following are sample commands to install these tools on Ubuntu systems:

# 安装Git
sudo apt update
sudo apt install git

# 安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 安装Jenkins
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
  1. Create a Github repository

Next, we need to create a repository on Github to store our code. Suppose our code repository is named my-project. Create a new repository on Github and clone it locally:

git clone https://github.com/your-username/my-project.git
  1. Write and test the code

In the cloned local repository, write and test your code code. In this example, we use a simple Python program to demonstrate:

# app.py
def hello_world():
    return "Hello, World!"

print(hello_world())
# 运行测试
python app.py
  1. Creating a Docker image

The next step is to create a Docker image to containerize the application ized and easily deployed in different environments. Create a file named Dockerfile in the code repository and add the following content:

# 基于Python的Docker镜像
FROM python:3.8

# 复制代码到容器中
COPY app.py /app/app.py

# 设置工作目录
WORKDIR /app

# 安装依赖项
RUN pip install flask

# 暴露端口
EXPOSE 5000

# 运行应用程序
CMD [ "python", "app.py" ]

Then, use the following command to build and run the Docker image:

# 构建Docker镜像
docker build -t my-app .

# 运行Docker容器
docker run -p 5000:5000 my-app
  1. Configure Jenkins

Now that we have a working Docker container, we need to configure Jenkins to automatically build, test and deploy our code. Open your browser and visit http://localhost:8080 to open the Jenkins management interface. Follow the on-screen instructions to complete the initial setup.

Next, we need to install some Jenkins plugins to support Docker and Git integration. On the Jenkins management interface, click "Plug-in Management" and then select "Optional Plug-ins". Search and install the following plugin:

  • Git Plugin
  • Docker Plugin
  • Pipeline Plugin
  1. Create Jenkins Pipeline

On the homepage of the Jenkins management interface, click "New Task" to create a new Jenkins Pipeline. Select the Pipeline project and give it a name, such as my-pipeline. In the "Pipeline" tab, select "Pipeline script from SCM" and fill in the following information:

  • SCM: Git
  • Repository URL: https://github.com/ your-username/my-project.git
  • Script Path:Jenkinsfile

Create a file named Jenkinsfile and add the following content:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                sh "docker build -t my-app ."
            }
        }
        stage('Test') {
            steps {
                sh "docker run my-app python app.py"
            }
        }
        stage('Deploy') {
            steps {
                sh "docker run -d -p 5000:5000 my-app"
            }
        }
    }
}
  1. Run Jenkins Pipeline

Save and submit the code and Jenkinsfile to the Github repository. Then, return to the Jenkins management interface, click on the my-pipeline task, and select "Build Now" to run the Jenkins Pipeline. Jenkins will automatically clone the code, build Docker images, run tests and deploy the application.

By visiting http://localhost:5000, you should be able to see the successfully deployed application.

Summary

Through the above steps, we successfully configured a simple CI/CD process on the Linux system. When changes are made to the code base, Jenkins will automatically build, test, and deploy the application. The tools used in this example are just one combination, and the actual configuration may vary based on the specific needs of your project. However, this example can be used as a starting point to help you start using continuous integration and continuous deployment to improve development efficiency.

The above is the detailed content of How to configure continuous integration and continuous deployment (CI/CD) on Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Linux: How to Enter Recovery Mode (and Maintenance)Linux: How to Enter Recovery Mode (and Maintenance)Apr 18, 2025 am 12:05 AM

The steps to enter Linux recovery mode are: 1. Restart the system and press the specific key to enter the GRUB menu; 2. Select the option with (recoverymode); 3. Select the operation in the recovery mode menu, such as fsck or root. Recovery mode allows you to start the system in single-user mode, perform file system checks and repairs, edit configuration files, and other operations to help solve system problems.

Linux's Essential Components: Explained for BeginnersLinux's Essential Components: Explained for BeginnersApr 17, 2025 am 12:08 AM

The core components of Linux include the kernel, file system, shell and common tools. 1. The kernel manages hardware resources and provides basic services. 2. The file system organizes and stores data. 3. Shell is the interface for users to interact with the system. 4. Common tools help complete daily tasks.

Linux: A Look at Its Fundamental StructureLinux: A Look at Its Fundamental StructureApr 16, 2025 am 12:01 AM

The basic structure of Linux includes the kernel, file system, and shell. 1) Kernel management hardware resources and use uname-r to view the version. 2) The EXT4 file system supports large files and logs and is created using mkfs.ext4. 3) Shell provides command line interaction such as Bash, and lists files using ls-l.

Linux Operations: System Administration and MaintenanceLinux Operations: System Administration and MaintenanceApr 15, 2025 am 12:10 AM

The key steps in Linux system management and maintenance include: 1) Master the basic knowledge, such as file system structure and user management; 2) Carry out system monitoring and resource management, use top, htop and other tools; 3) Use system logs to troubleshoot, use journalctl and other tools; 4) Write automated scripts and task scheduling, use cron tools; 5) implement security management and protection, configure firewalls through iptables; 6) Carry out performance optimization and best practices, adjust kernel parameters and develop good habits.

Understanding Linux's Maintenance Mode: The EssentialsUnderstanding Linux's Maintenance Mode: The EssentialsApr 14, 2025 am 12:04 AM

Linux maintenance mode is entered by adding init=/bin/bash or single parameters at startup. 1. Enter maintenance mode: Edit the GRUB menu and add startup parameters. 2. Remount the file system to read and write mode: mount-oremount,rw/. 3. Repair the file system: Use the fsck command, such as fsck/dev/sda1. 4. Back up the data and operate with caution to avoid data loss.

How Debian improves Hadoop data processing speedHow Debian improves Hadoop data processing speedApr 13, 2025 am 11:54 AM

This article discusses how to improve Hadoop data processing efficiency on Debian systems. Optimization strategies cover hardware upgrades, operating system parameter adjustments, Hadoop configuration modifications, and the use of efficient algorithms and tools. 1. Hardware resource strengthening ensures that all nodes have consistent hardware configurations, especially paying attention to CPU, memory and network equipment performance. Choosing high-performance hardware components is essential to improve overall processing speed. 2. Operating system tunes file descriptors and network connections: Modify the /etc/security/limits.conf file to increase the upper limit of file descriptors and network connections allowed to be opened at the same time by the system. JVM parameter adjustment: Adjust in hadoop-env.sh file

How to learn Debian syslogHow to learn Debian syslogApr 13, 2025 am 11:51 AM

This guide will guide you to learn how to use Syslog in Debian systems. Syslog is a key service in Linux systems for logging system and application log messages. It helps administrators monitor and analyze system activity to quickly identify and resolve problems. 1. Basic knowledge of Syslog The core functions of Syslog include: centrally collecting and managing log messages; supporting multiple log output formats and target locations (such as files or networks); providing real-time log viewing and filtering functions. 2. Install and configure Syslog (using Rsyslog) The Debian system uses Rsyslog by default. You can install it with the following command: sudoaptupdatesud

How to choose Hadoop version in DebianHow to choose Hadoop version in DebianApr 13, 2025 am 11:48 AM

When choosing a Hadoop version suitable for Debian system, the following key factors need to be considered: 1. Stability and long-term support: For users who pursue stability and security, it is recommended to choose a Debian stable version, such as Debian11 (Bullseye). This version has been fully tested and has a support cycle of up to five years, which can ensure the stable operation of the system. 2. Package update speed: If you need to use the latest Hadoop features and features, you can consider Debian's unstable version (Sid). However, it should be noted that unstable versions may have compatibility issues and stability risks. 3. Community support and resources: Debian has huge community support, which can provide rich documentation and

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools