jenkins在centos的部署方案
小樊
37
2025-12-01 23:40:37
Jenkins 在 CentOS 的部署方案
一 环境准备与 Java 安装
- 更新系统并安装常用工具:sudo yum update -y && sudo yum install -y wget vim
- 安装受支持的 Java(二选一或并存):
- OpenJDK 11(通用稳定):sudo yum install -y java-11-openjdk-devel
- OpenJDK 17(新版本可用):sudo yum install -y java-17-openjdk-devel
- 验证版本:java -version(确保输出为 1.8/11/17 之一)
二 RPM 包方式部署(推荐)
- 添加 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
- 可选:调整端口与运行用户(编辑 /etc/sysconfig/jenkins)
- JENKINS_PORT=“8080”
- JENKINS_USER=“jenkins”
- 启动并设置开机自启:
- sudo systemctl daemon-reload
- sudo systemctl start jenkins && sudo systemctl enable jenkins
- sudo systemctl status jenkins(确认状态为 active (running))
三 访问初始化与安全加固
- 防火墙放行:
- 开放 8080(推荐):sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload
- 如使用代理/端口转发,可同时放行 50000/tcp(JNLP/代理端口)
- 获取初始管理员密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 浏览器访问:http://<服务器IP>:8080,完成解锁后安装推荐插件并创建管理员账户
- 安全建议:
- 禁用匿名访问,启用基于角色的访问控制(RBAC)
- 插件镜像加速(可选):进入 Manage Jenkins → Plugin Manager → Advanced,将 Update Site 替换为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
四 Docker 方式部署(可选)
- 拉取镜像:docker pull jenkins/jenkins:lts
- 运行容器(示例,持久化数据并映射端口):
- docker run -d --name jenkins
-p 8080:8080 -p 50000:50000
-v jenkins_home:/var/jenkins_home
–restart unless-stopped
jenkins/jenkins:lts
- 首次登录密码路径:容器内 /var/jenkins_home/secrets/initialAdminPassword(可通过 docker exec 查看)
五 生产优化与 CI/CD 配置
- 资源配置建议:
- 测试环境:4 核 CPU / 8GB 内存 / 50GB SSD
- 生产环境:8 核 CPU / 16GB 内存 / 100GB SSD(可按需扩展,Master/Agent 分离更稳)
- JVM 与系统优化:
- 编辑 /etc/sysconfig/jenkins,设置 JAVA_OPTS(示例):-Xms2g -Xmx2g -XX:+UseG1GC
- 定期清理旧构建与工作空间,限制并发构建数
- 基础 CI/CD 流水线示例(声明式 Pipeline):
- 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’ }
}
}
}
- 建议安装的插件:Pipeline、GitHub Integration、Docker、Kubernetes CLI、Credentials Binding