温馨提示×

CentOS Jenkins如何配置构建环境

小樊
39
2025-12-13 19:14:12
栏目: 智能运维

在 CentOS 上配置 Jenkins 构建环境

一 准备与安装基础环境

  • 更新系统与安装依赖
    • 执行:sudo yum update -y && sudo yum install -y wget curl
  • 安装 Java(建议 JDK 11 或 JDK 17,与所用 Jenkins 版本匹配)
    • OpenJDK 11:sudo yum install -y java-11-openjdk-devel
    • OpenJDK 17:sudo yum install -y java-17-openjdk-devel
    • 验证:java -versionjavac -version
  • 安装构建工具与源码管理
    • Maven:sudo yum install -y maven(或手动安装并配置环境变量)
    • Git:sudo yum install -y git
  • 说明
    • 不同版本的 JenkinsJava 版本有要求,安装前确认兼容矩阵;本文以 CentOS 7/8 为例,使用系统包管理器安装更便于维护。

二 安装与启动 Jenkins

  • 方式 A(推荐 RPM 包)
    • 导入仓库与密钥:
      • 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
      • sudo systemctl enable --now jenkins
      • 状态检查:sudo systemctl status jenkins
  • 方式 B(War 包运行)
    • 下载并启动:wget https://get.jenkins.io/war-stable/latest/jenkins.war
    • 运行:nohup java -jar jenkins.war --httpPort=8080 &
  • 访问与初始化
    • 浏览器访问:http://<服务器IP>:8080
    • 初始密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    • 完成安装向导(可选择推荐插件)。

三 防火墙与端口开放

  • 开放端口(默认 8080,代理端口 50000
    • sudo firewall-cmd --permanent --add-port=8080/tcp
    • sudo firewall-cmd --permanent --add-port=50000/tcp
    • sudo firewall-cmd --reload
  • 云服务器需同时配置安全组放行对应端口。

四 在 Jenkins 内配置构建工具与全局环境

  • 插件安装(Manage Jenkins → Plugins)
    • 常用:Git pluginMaven IntegrationPipelineCredentials BindingDocker Pipeline(按需安装)
    • 国内加速:Manage Jenkins → Plugin Manager → Advanced → 将 Update Site 改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  • 全局工具配置(Manage Jenkins → Tools)
    • JDK:若系统已装多版本,取消自动安装,指定 JAVA_HOME(如 /usr/lib/jvm/java-11-openjdk/usr/lib/jvm/java-17-openjdk
    • Git:指定 git 可执行文件路径(通常为 /usr/bin/git
    • Maven:指定 MAVEN_HOME(如 /usr/share/maven 或自定义安装路径)
  • 全局环境变量(可选)
    • Manage Jenkins → System → Global Properties → Environment variables
    • 例如:MAVEN_OPTS="-Xmx1024m -XX:MaxMetaspaceSize=512m"JAVA_HOME(供构建机统一使用)
  • 说明
    • 工具路径必须与操作系统实际路径一致;若使用 RPM 安装,Jenkins 可能自动发现部分工具,但显式配置更可控。

五 创建任务与流水线示例

  • Freestyle 任务(Maven 项目)
    • 源码管理:选择 Git,填写仓库 URL,添加凭据(SSH 或 HTTPS)
    • 构建步骤:Invoke top-level Maven targets,目标如 clean package
    • 构建后操作:可归档构件(如 **/target/*.jar),或结合部署插件发布
  • Pipeline 任务(Jenkinsfile)
    • 新建任务 → Pipeline → Pipeline script from SCM(选择 Git)
    • 示例 Jenkinsfile(Java + Maven):
      pipeline {
        agent any
        tools {
          maven 'Maven-3.6.3'   // 与“全局工具配置”中的名称一致
          jdk   'OpenJDK-11'    // 与“全局工具配置”中的名称一致
        }
        stages {
          stage('Checkout') {
            steps { git url: 'git@github.com:org/repo.git', branch: 'main' }
          }
          stage('Build') {
            steps { sh 'mvn clean package -DskipTests' }
          }
          stage('Test') {
            steps { sh 'mvn test' }
          }
          stage('Archive') {
            steps { archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true }
          }
        }
      }
      
  • 凭据与安全
    • SSH 密钥:在 Manage Jenkins → Credentials 添加私钥,用于拉取私有仓库
    • 安全:禁用匿名访问,创建管理员用户,按需配置权限策略。

0