温馨提示×

Jenkins在Linux环境下的配置指南

小樊
45
2025-11-30 10:27:48
栏目: 智能运维

Linux 环境下 Jenkins 配置指南

一 环境准备与版本建议

  • 操作系统:建议使用 Ubuntu/DebianCentOS/Fedora 等主流发行版。
  • Java 运行环境:安装 OpenJDK 11(推荐)或 OpenJDK 8。验证命令:java -version
  • 构建与工具链:根据项目需要准备 Git、Maven/Gradle、Docker 等。
  • 安全与网络:确保有 sudo 权限;如需外网访问,开放 8080 端口或设置反向代理。

二 安装与启动

  • Ubuntu/Debian
    1. 安装 Java:sudo apt update && sudo apt install -y openjdk-11-jdk
    2. 导入密钥与仓库:
      • 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'
    3. 安装与启动:
      • sudo apt update && sudo apt install -y jenkins
      • sudo systemctl start jenkins && sudo systemctl enable jenkins
      • sudo systemctl status jenkins
  • CentOS/Fedora
    1. 安装 Java:sudo yum install -y java-11-openjdk-devel
    2. 导入仓库与密钥:
      • 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
    3. 安装与启动:
      • sudo yum install -y jenkins
      • sudo systemctl start jenkins && sudo systemctl enable jenkins
      • sudo systemctl status jenkins
  • 访问与初始化
    • 浏览器访问:http://<服务器IP>:8080
    • 初始管理员密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    • 首次进入可选择安装推荐插件或自定义插件集。

三 防火墙与反向代理

  • 防火墙放行 8080
    • CentOS/Fedora:sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload
    • Ubuntu/Debian(UFW):sudo ufw allow 8080 && sudo ufw enable
  • 反向代理示例(Nginx)
    • 配置示例:将域名或路径反向代理到 http://127.0.0.1:8080,启用 HTTPS 与必要的请求头转发,便于统一入口与安全加固。

四 基础配置与第一个任务

  • 插件建议
    • 常用:Git plugin、Maven Integration plugin、Docker plugin、HTML Publisher、Email Extension
  • Freestyle 任务
    • 源码管理:选择 Git,填写仓库 URL 与分支(如 */main)。
    • 构建步骤:执行 Shell(如 mvn clean package 或自定义脚本)。
    • 构建后操作:归档产物、发布 HTML 报告、配置邮件通知(SMTP)。
  • Pipeline 示例
    • 示例脚本:
      pipeline {
        agent any
        stages {
          stage('Checkout') { steps { git 'https://github.com/example/project.git' } }
          stage('Build')     { steps { sh 'mvn clean package' } }
          stage('Test')      { steps { sh 'mvn test' } }
        }
        post {
          always { cleanWs() }
          success { echo 'Build succeeded!' }
          failure { echo 'Build failed!' }
        }
      }
      
    • 触发器:可配置 轮询 SCMWebhook(配合 Git 服务)。

五 常见问题与排障

  • 端口被占用
    • 修改端口:编辑 /etc/sysconfig/jenkins(CentOS/RHEL),将 JENKINS_PORT="8080" 改为未占用端口(如 8888),然后 sudo systemctl restart jenkins
  • 找不到 Java
    • 现象:启动失败,日志提示找不到 Java。
    • 处理:在 /etc/init.d/jenkins 中显式添加已安装 JDK 的 java 路径(如 /usr/local/java/jdk-11/bin/java),保存后 sudo systemctl daemon-reload && sudo systemctl restart jenkins
  • 插件下载慢或失败
    • 处理:在插件管理页面更换为国内镜像源,或先跳过插件安装,进入系统后再分批安装所需插件。
  • 云服务器访问不到
    • 处理:检查 安全组/防火墙 是否放行 8080,或改用 Nginx 反向代理 + HTTPS 统一暴露服务。

0