温馨提示×

CentOS中Jenkins怎样实现持续集成

小樊
66
2025-08-31 00:52:17
栏目: 智能运维

1. 准备工作
在CentOS上实现Jenkins持续集成前,需确保系统满足基础要求:CentOS 7及以上版本,至少1GB可用内存(推荐),1GB以上可用磁盘空间(推荐),稳定的网络连接,以及root或sudo权限。这些条件是Jenkins稳定运行的基础。

2. 安装Jenkins
Jenkins的安装主要通过yum包管理器或Docker实现:

  • yum安装(推荐新手)
    首先添加Jenkins官方仓库,导入GPG密钥以确保软件包安全:
    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
    
    然后安装Jenkins:
    sudo yum install jenkins -y
    
    最后启动服务并设置开机自启:
    sudo systemctl start jenkins
    sudo systemctl enable jenkins
    
  • Docker安装(适合容器化环境)
    拉取Jenkins LTS(长期支持)镜像并运行容器:
    docker pull jenkins/jenkins:lts
    docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
    
    访问http://服务器IP:8080完成初始配置。

3. 配置Jenkins环境

  • 修改Jenkins端口与用户(可选)
    编辑/etc/sysconfig/jenkins文件,调整监听端口(如改为8081)或运行用户(如改为jenkins):
    JENKINS_PORT="8081"
    JENKINS_USER="jenkins"
    
    保存后重启服务:
    sudo systemctl restart jenkins
    
  • 安装必要插件
    登录Jenkins Web界面,进入“系统管理”→“插件管理”,安装以下核心插件:
    • Git:用于拉取代码仓库(如GitHub、GitLab);
    • Maven/Gradle:用于Java项目构建(根据项目语言选择);
    • Pipeline:用于定义持续集成流程(支持声明式/脚本式Pipeline);
    • Docker(可选):用于容器化构建或部署;
    • Email Extension(可选):用于构建结果通知。
      插件安装完成后,重启Jenkins使配置生效。

4. 配置代码托管库与构建工具

  • 配置Git
    若项目使用Git管理,需在Jenkins中配置Git凭证。进入“系统管理”→“凭据”,添加Git仓库的访问权限(如HTTPS用户名密码、SSH私钥)。
  • 配置Java/Maven
    确保系统已安装JDK(推荐1.8及以上)和Maven(推荐3.6及以上)。通过“系统管理”→“全局工具配置”,添加JDK和Maven的安装路径(如/usr/lib/jvm/java-1.8.0-openjdk/usr/local/maven),或在Pipeline脚本中直接指定版本。

5. 创建Jenkins Job

  • 新建任务
    点击Jenkins首页“新建Item”,输入任务名称(如my-java-project-ci),选择“Freestyle project”(适合简单流程)或“Pipeline”(适合复杂流程),点击“确定”。
  • 配置源码管理
    在“Source Code Management”部分,选择“Git”,填写代码仓库URL(如https://github.com/your-repo/my-java-project.git)和分支(如main),并选择之前配置的Git凭证。
  • 配置构建触发器
    在“Build Triggers”部分,选择触发构建的方式:
    • 轮询SCM:定期检查代码变更(如H/5 * * * *表示每5分钟检查一次);
    • Webhook(推荐):通过GitHub/GitLab的Webhook设置,代码推送时自动触发构建(需在Jenkins中配置Webhook URL,如http://服务器IP:8080/github-webhook/)。
  • 配置构建步骤
    在“Build”部分,添加构建步骤:
    • 若使用Maven,选择“Invoke top-level Maven targets”,填写Maven命令(如clean install);
    • 若使用Shell脚本,选择“Execute shell”,输入构建命令(如mvn clean install)。

6. 运行与监控Job

  • 手动触发构建
    保存Job配置后,点击“立即构建”,可在“构建历史”中查看构建状态(成功/失败/进行中)。
  • 查看构建日志
    点击构建编号,进入“构建详情”页面,查看实时日志或历史日志,定位构建失败原因(如编译错误、测试失败)。
  • 配置通知
    在“Post-build Actions”部分,添加通知步骤(如“Email Notification”),设置构建成功/失败时的通知邮箱,及时告知团队成员。

7. 可选:配置Pipeline(推荐)
若项目需要更灵活的流程(如多阶段构建、条件判断),可使用Jenkins Pipeline。创建“Pipeline”类型的Job,在“Pipeline”部分选择“Pipeline script from SCM”,填写代码仓库URL和Pipeline脚本路径(如Jenkinsfile)。示例Jenkinsfile(声明式语法):

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                git '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' // 收集测试报告
        }
        success {
            echo 'Build succeeded!'
        }
        failure {
            echo 'Build failed!'
        }
    }
}

Jenkinsfile提交到代码仓库,Jenkins会自动识别并执行Pipeline流程。

0