温馨提示×

jenkins在centos上的部署教程

小樊
44
2025-12-07 20:26:18
栏目: 智能运维

在 CentOS 上部署 Jenkins 的完整教程

一 环境准备与 Java 安装

  • 更新系统并安装常用工具:
    • sudo yum update -y
    • sudo yum install -y wget vim
  • 安装受支持的 Java(任选其一,推荐 OpenJDK 11OpenJDK 17):
    • OpenJDK 11:sudo yum install -y java-11-openjdk-devel
    • OpenJDK 17:sudo yum install -y java-17-openjdk-devel
  • 验证版本:java -version(应显示 1117 的版本号)

二 安装与启动 Jenkins

  • 添加 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 -y jenkins
  • 启动并设置开机自启:
    • sudo systemctl daemon-reload
    • sudo systemctl start jenkins
    • sudo systemctl enable jenkins
  • 查看状态:sudo systemctl status jenkins(应为 active (running)

三 防火墙与端口开放

  • 开放 8080/TCP(Web 访问)与 50000/TCP(Agent 通信,如使用代理/分布式构建):
    • sudo firewall-cmd --permanent --add-port=8080/tcp
    • sudo firewall-cmd --permanent --add-port=50000/tcp
    • sudo firewall-cmd --reload
  • 如使用云服务器,还需在云平台安全组放行对应端口。

四 初始化与首次登录

  • 访问:在浏览器打开 http://<服务器IP>:8080
  • 解锁:查看初始管理员密码
    • sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  • 安装插件与创建管理员:选择 Install suggested plugins,完成后设置管理员账号与密码。

五 基础配置与第一个任务

  • 插件与更新源(可选,提升国内下载速度):
    • 进入 Manage Jenkins → Plugin Manager → Advanced,将 Update Site URL 替换为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
    • 常用插件:Pipeline、Git、Docker、GitHub Integration、Kubernetes CLI、Credentials Binding
  • 全局工具与凭据:
    • Global Tool Configuration 配置 JDK、Git、Maven(如使用)
    • Manage Jenkins → Credentials 添加 SSH 私钥用户名/密码 凭据,用于拉取代码与部署
  • 创建一个简单任务(Freestyle 或 Pipeline):
    • Freestyle:源码管理选择 Git,构建步骤执行示例:sh ‘mvn clean package’
    • Pipeline:使用 SCM 拉取仓库,示例 Jenkinsfile:
      • pipeline { agent any stages { stage(‘Build’) { steps { sh ‘mvn clean package’ } } stage(‘Test’) { steps { sh ‘mvn test’ } } stage(‘Deploy’) { when { branch ‘main’ } steps { sh ‘mvn deploy’ } } } }
  • 触发方式:可配置 轮询 SCMWebhook(GitHub/GitLab)实现自动构建。

六 常见问题与优化建议

  • 端口被占用:编辑 /etc/sysconfig/jenkins,修改 JENKINS_PORT,然后重启:sudo systemctl restart jenkins
  • 权限问题:确保 /var/lib/jenkins 等目录属主为 jenkins:jenkins,必要时执行:
    • sudo chown -R jenkins:jenkins /var/lib/jenkins /var/cache/jenkins /var/log/jenkins
  • 构建性能:
    • 调整 JVM 堆大小(在 jenkins.service 的 JAVA_OPTS 中设置,如 -Xms2g -Xmx2g)
    • 限制并发构建数、定期清理旧构建与工作空间
  • 高可用与扩展:配置 Jenkins Agent/分布式构建,将任务分发到多台节点
  • 安全加固:
    • 禁用匿名访问,启用 CSRF 保护,使用 HTTPS(反向代理或 Nginx Ingress)
    • 定期更新 Jenkins 与插件,及时修复安全漏洞。

0