首页主机资讯Jenkins于Linux怎样实现持续集成

Jenkins于Linux怎样实现持续集成

时间2025-10-04 03:40:04发布访客分类主机资讯浏览650
导读:1. 准备基础环境 在Linux系统上实现Jenkins持续集成前,需先安装Java(JDK 11及以上,推荐LTS版本)——Jenkins依赖Java运行。以Ubuntu/Debian为例,安装命令如下: sudo apt update...

1. 准备基础环境

在Linux系统上实现Jenkins持续集成前,需先安装Java(JDK 11及以上,推荐LTS版本)——Jenkins依赖Java运行。以Ubuntu/Debian为例,安装命令如下:

sudo apt update &
    &
     sudo apt install -y openjdk-11-jdk

验证Java安装:

java -version  # 确认输出包含Java版本信息

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

sudo yum install -y java-11-openjdk-devel

此外,根据项目需求安装额外工具(如Maven/Gradle用于Java项目构建、Git用于代码管理)。

2. 安装Jenkins

通过包管理器(推荐,简单快捷)或Docker(容器化部署,便于管理)安装Jenkins:

  • 包管理器安装(Ubuntu/Debian)
    添加Jenkins官方仓库并导入GPG密钥:
    wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc >
         /dev/null
    echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list >
         /dev/null
    
    更新包索引并安装:
    sudo apt update &
        &
         sudo apt install -y jenkins
    
  • 包管理器安装(CentOS/RHEL)
    添加Jenkins仓库并安装:
    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
    sudo yum install -y jenkins
    
  • Docker安装(可选)
    使用docker-compose快速部署(需提前安装Docker):
    mkdir -p /opt/docker_jenkins/data
    cat <
        <
        EOF >
         /opt/docker_jenkins/docker-compose.yml
    version: '3'
    services:
      jenkins:
        image: jenkins/jenkins:lts
        container_name: jenkins_container
        ports:
          - "8080:8080"
          - "50000:50000"
        volumes:
          - ./data:/var/jenkins_home
    EOF
    cd /opt/docker_jenkins &
        &
         docker-compose up -d
    

启动Jenkins服务并设置开机自启:

sudo systemctl start jenkins &
    &
     sudo systemctl enable jenkins

访问http://< 服务器IP> :8080,输入初始管理员密码(位于/var/lib/jenkins/secrets/initialAdminPassword)完成初始化。

3. 配置Jenkins

  • 安装必要插件
    进入“Manage Jenkins” > “Manage Plugins”,安装以下核心插件:

    • Git Plugin:用于从Git仓库拉取代码;
    • Pipeline Plugin:支持Pipeline脚本定义CI流程;
    • Maven Integration Plugin(Java项目):简化Maven构建步骤;
    • Email Extension Plugin(可选):用于构建结果通知。
      可选择“Install suggested plugins”快速安装推荐插件。
  • 配置全局工具
    进入“Manage Jenkins” > “Global Tool Configuration”,设置工具路径(如JDK、Maven):

    • JDK:点击“Add JDK”,填写名称(如“jdk11”),取消“Install automatically”(若已手动安装),指定路径(如/usr/lib/jvm/java-11-openjdk-amd64);
    • Maven:同理添加Maven,指定安装路径(如/usr/local/apache-maven-3.9.6)。
  • 配置系统参数
    进入“Manage Jenkins” > “Configure System”,修改Jenkins端口(默认8080,若冲突可修改/etc/sysconfig/jenkins(CentOS)或/etc/default/jenkins(Ubuntu)中的HTTP_PORT)、管理员邮箱等。

4. 创建Jenkins Job

  • 新建任务
    进入Jenkins首页,点击“New Item”,输入任务名称(如“my-java-project-ci”),选择“Freestyle project”(适合简单项目)或“Pipeline”(适合复杂流程),点击“OK”。

  • 配置源码管理
    在“Source Code Management”部分,选择“Git”,输入代码仓库URL(如https://github.com/your-repo/my-java-project.git),若有私有仓库,需添加凭证(点击“Add” > “Jenkins”)。

  • 配置构建触发器
    在“Build Triggers”部分,选择触发方式:

    • 轮询SCM:定期检查代码变更(如H/5 * * * *表示每5分钟检查一次);
    • Webhook(推荐):通过Git仓库的Webhook(如GitHub的“Settings” > “Webhooks”)自动触发构建(需配置Jenkins的“Webhook URL”为http://< 服务器IP> :8080/github-webhook/)。
  • 配置构建步骤
    在“Build”部分,添加构建步骤:

    • Maven项目:选择“Invoke top-level Maven targets”,填写Maven目标(如clean install);
    • Shell脚本:选择“Execute shell”,输入构建命令(如makegradle build)。
  • 配置构建后操作
    在“Post-build Actions”部分,添加后续操作:

    • 归档产物:选择“Archive the artifacts”,指定产物路径(如**/target/*.jar);
    • 运行测试报告:选择“Publish JUnit test result report”,指定测试报告路径(如**/target/surefire-reports/*.xml);
    • 发送通知:选择“Email Extension Plugin”,配置收件人邮箱(如dev-team@example.com)。

5. 使用Pipeline脚本(可选但推荐)

Pipeline脚本通过代码定义CI流程,支持版本控制(如将脚本存于项目仓库)。

  • 创建Jenkinsfile
    在项目根目录下创建Jenkinsfile,内容示例如下(Java项目):
    pipeline {
    
        agent any  // 使用任意可用节点
        tools {
    
            maven 'maven-3.9.6'  // 引用全局工具配置中的Maven
            jdk 'jdk11'          // 引用全局工具配置中的JDK
        }
    
        stages {
    
            stage('Checkout') {
    
                steps {
    
                    git branch: 'main', url: 'https://github.com/your-repo/my-java-project.git'
                }
    
            }
    
            stage('Build') {
    
                steps {
    
                    sh 'mvn clean install'
                }
    
            }
    
            stage('Test') {
    
                steps {
    
                    sh 'mvn test'
                }
    
                post {
    
                    always {
    
                        junit '**/target/surefire-reports/*.xml'  // 归档测试报告
                    }
    
                }
    
            }
    
            stage('Deploy') {
    
                when {
    
                    branch 'master'  // 仅master分支触发部署
                }
    
                steps {
    
                    sh 'mvn deploy'  // 部署到仓库或服务器
                }
    
            }
    
        }
    
        post {
    
            success {
    
                echo 'Build and deployment succeeded!'
            }
    
            failure {
    
                echo 'Build or deployment failed!'
            }
    
        }
    
    }
        
    
  • 创建Pipeline Job
    进入Jenkins首页,点击“New Item”,输入任务名称(如“my-java-project-pipeline”),选择“Pipeline”,点击“OK”。
    在“Pipeline”部分,选择“Pipeline script from SCM”,指定SCM类型(如Git)、仓库URL及Jenkinsfile路径(默认为Jenkinsfile),点击“Save”。

6. 触发构建与监控

  • 手动触发:进入任务页面,点击“Build Now”,查看“Build History”中的构建状态(蓝色为成功,红色为失败)。
  • 自动触发:若配置了Webhook或轮询SCM,代码提交后会自动触发构建。
  • 查看日志:点击构建编号,进入“Console Output”查看详细构建日志,用于调试问题。

7. 常见问题处理

  • 端口冲突:修改Jenkins端口(如将8080改为8081),编辑/etc/sysconfig/jenkins(CentOS)或/etc/default/jenkins(Ubuntu),修改HTTP_PORT后重启服务。
  • 插件安装失败:更换插件镜像源为国内镜像(如清华源),进入“Manage Jenkins” > “Manage Plugins” > “Advanced”,修改“Update Site URL”为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  • 权限问题:进入“Manage Jenkins” > “Manage Users”,创建用户并分配权限(如“Administer”或“Read”);或在“Manage Jenkins” > “Configure Global Security”中启用安全功能。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Jenkins于Linux怎样实现持续集成
本文地址: https://pptw.com/jishu/719504.html
Linux中Jenkins如何进行性能调优 Jenkins在Linux怎样进行插件管理

游客 回复需填写必要信息