温馨提示×

Jenkins在Linux中怎样实现持续集成

小樊
47
2025-11-08 14:51:25
栏目: 智能运维

1. 环境准备:安装Java环境

Jenkins是基于Java开发的自动化工具,需先安装JDK(建议11及以上版本)。以Ubuntu/Debian为例,执行以下命令:

sudo apt update
sudo apt install openjdk-11-jdk
# 验证安装
java -version

若使用CentOS/RHEL,可通过yum安装:

sudo yum install java-11-openjdk-devel

确保JAVA_HOME环境变量已配置(通常安装后会自动设置)。

2. 安装Jenkins

2.1 添加Jenkins官方仓库

  • Ubuntu/Debian
    wget -q -O - https://pkg.jenkins.io/debian-stable/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'
    
  • CentOS/RHEL
    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    

2.2 安装并启动Jenkins

sudo apt update && sudo apt install jenkins  # Debian/Ubuntu
sudo yum install jenkins                    # CentOS/RHEL
sudo systemctl start jenkins
sudo systemctl enable jenkins               # 设置开机自启

安装完成后,Jenkins默认监听8080端口,通过http://服务器IP:8080访问初始化页面。

3. 配置Jenkins

3.1 获取初始管理员密码

首次登录需输入初始密码,通过以下命令获取:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

3.2 安装必要插件

进入“Manage Jenkins”→“Manage Plugins”,选择“Available”标签页,搜索并安装以下插件:

  • Git:用于拉取代码仓库;
  • Maven/Gradle:用于项目构建(根据项目类型选择);
  • Pipeline:用于定义持续集成流程(可选但推荐);
  • Notification:用于发送构建结果通知(如邮件、Slack)。

3.3 配置全局工具

进入“Manage Jenkins”→“Global Tool Configuration”,配置以下工具路径:

  • JDK:指定JDK安装路径(若已加入环境变量,可直接选择“System Installer”);
  • Git:指定Git安装路径(若已加入环境变量,可直接选择“System Installer”);
  • Maven:指定Maven安装路径(若使用Maven)。

4. 创建Jenkins任务

4.1 新建任务

登录Jenkins后,点击“New Item”,输入任务名称(如my-springboot-ci),选择“Freestyle project”(或“Pipeline”,若使用流水线脚本),点击“OK”。

4.2 配置任务

4.2.1 源码管理

选择“Git”,输入代码仓库URL(如git@github.com:your-repo/springboot-project.git),并配置Credentials(需提前在Jenkins中添加Git仓库的访问权限,如SSH密钥或账号密码)。

4.2.2 构建触发器

配置自动触发构建的方式:

  • 轮询SCM:定期检查代码变更(如H/5 * * * *表示每5分钟检查一次);
  • Webhook:更及时的触发方式,需在代码仓库(如GitHub/GitLab)中配置Webhook URL(格式为http://服务器IP:8080/project/任务名称)。
4.2.3 构建步骤

添加构建步骤,根据项目类型选择:

  • Maven项目:选择“Invoke top-level Maven targets”,输入Maven命令(如clean package);
  • Shell脚本:选择“Execute shell”,输入自定义命令(如编译、测试、打包)。
    示例(SpringBoot项目打包):
mvn clean package -DskipTests
cp target/*.jar /opt/apps/springboot-demo.jar

5. 运行与验证构建

保存任务配置后,点击“Build Now”手动触发构建。构建完成后,进入“Build History”,点击构建编号查看日志,确认构建是否成功(如Finished: SUCCESS)。

6. 可选:使用Pipeline脚本(推荐)

若项目流程复杂(如包含构建、测试、部署多个阶段),可使用Jenkinsfile定义流水线。在项目根目录创建Jenkinsfile,内容示例如下:

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                git branch: 'main', url: 'git@github.com:your-repo/springboot-project.git'
            }
        }
        stage('Build') {
            steps {
                sh 'mvn clean package -DskipTests'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
        stage('Deploy') {
            steps {
                sh 'cp target/*.jar /opt/apps/springboot-demo.jar'
                sh 'nohup java -jar /opt/apps/springboot-demo.jar --spring.profiles.active=prod &'
            }
        }
    }
    post {
        success {
            echo 'Build and Deploy succeeded!'
        }
        failure {
            echo 'Build or Deploy failed!'
        }
    }
}

在Jenkins任务配置中,选择“Pipeline”,指定Jenkinsfile路径(如Jenkinsfile),保存后即可通过流水线自动执行持续集成流程。

0