温馨提示×

CentOS怎么部署Jenkins

小樊
40
2026-07-21 01:32:25
栏目: 智能运维

在 CentOS 上部署 Jenkins 通常有两种常用方式:使用官方 RPM 仓库(推荐)使用 Docker。下面分别说明,并给出从安装到初始化访问的完整步骤。


一、方式一:使用官方 RPM 仓库安装 Jenkins(推荐,适合生产环境)

1. 环境准备

# 查看 CentOS 版本
cat /etc/centos-release

# 确认 Java 是否安装
java -version

Jenkins 依赖 Java(推荐 Java 11 或 Java 17):

# 安装 Java 11
sudo yum install -y java-11-openjdk-devel

2. 添加 Jenkins 官方仓库

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-2023.key

3. 安装 Jenkins

sudo yum install -y jenkins

4. 启动并设置开机自启

sudo systemctl start jenkins
sudo systemctl enable jenkins

查看状态:

sudo systemctl status jenkins

5. 防火墙放行端口(默认 8080)

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

6. 浏览器访问 Jenkins

http://<服务器IP>:8080

7. 获取管理员初始密码

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

复制密码 → 粘贴到页面 → 继续安装推荐插件 → 创建管理员用户即可。


二、方式二:使用 Docker 部署 Jenkins(简单、快速)

1. 安装 Docker

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io

sudo systemctl start docker
sudo systemctl enable docker

2. 拉取 Jenkins 镜像并运行

docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /data/jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts

3. 查看初始密码

docker logs jenkins
# 或
docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

4. 访问 Jenkins

http://<服务器IP>:8080

三、常见问题排查

1. Jenkins 启动失败

journalctl -u jenkins -xe

常见原因:

  • Java 未正确安装
  • 端口 8080 被占用
netstat -tunlp | grep 8080

2. 修改 Jenkins 端口

编辑配置文件:

sudo vim /etc/sysconfig/jenkins

修改:

JENKINS_PORT="8081"

重启:

sudo systemctl restart jenkins

3. 权限问题(Docker 方式)

sudo chown -R 1000:1000 /data/jenkins_home

四、选择建议

场景 推荐方式
生产环境 RPM 安装
测试 / 快速体验 Docker
后续使用 Pipeline、K8s Docker

如果你愿意,我可以继续帮你:

  • ✅ 配置 Jenkins + Git + Maven 自动构建
  • ✅ Jenkins 与 Docker / Kubernetes 集成
  • ✅ Jenkins 权限管理与安全加固
  • ✅ 结合 CentOS 的系统服务管理

你现在用的是 CentOS 7 还是 CentOS Stream 8/9

0