温馨提示×

怎样用centos管jenkins

小樊
48
2026-10-17 23:42:47
栏目: 智能运维

下面按**“在 CentOS 上安装 → 管理 → 日常运维”**的思路,系统讲一下 如何用 CentOS 管理 Jenkins。以 CentOS 7/8/Stream 为例,适用于大多数生产环境。


一、在 CentOS 上安装 Jenkins

1. 安装 Java(Jenkins 依赖)

# CentOS 7/8
sudo yum install -y java-11-openjdk-devel
# 或
sudo dnf install -y java-11-openjdk-devel

java -version

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

3. 安装 Jenkins

sudo yum install -y jenkins
# 或
sudo dnf install -y jenkins

4. 启动并设置开机自启

sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins

5. 防火墙放行

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

浏览器访问:

http://<centos_ip>:8080

二、CentOS 上管理 Jenkins(核心)

1. 服务管理(最常用)

systemctl start jenkins
systemctl stop jenkins
systemctl restart jenkins
systemctl status jenkins

2. 配置文件位置

内容 路径
主配置 /etc/sysconfig/jenkins
数据目录 /var/lib/jenkins
日志 /var/log/jenkins/jenkins.log
插件 /var/lib/jenkins/plugins

修改端口示例:

vi /etc/sysconfig/jenkins
# JENKINS_PORT="8080"
systemctl restart jenkins

3. 查看日志(排错必用)

tail -f /var/log/jenkins/jenkins.log
journalctl -u jenkins -f

三、权限与安全管理(CentOS 层面)

1. 不要用 root 跑 Jenkins(默认 jenkins 用户)

id jenkins

如需执行 Docker:

sudo usermod -aG docker jenkins
sudo systemctl restart jenkins

2. 备份 Jenkins 数据

tar czf jenkins-backup.tar.gz /var/lib/jenkins

恢复:

tar xzf jenkins-backup.tar.gz -C /

四、Jenkins 内部基础管理

1. 插件管理

  • Manage Jenkins → Manage Plugins
  • 生产环境建议:
    • Git
    • Pipeline
    • Blue Ocean
    • Credentials Binding

2. 用户与权限

  • Manage Jenkins → Security
  • 推荐:
    • Role-based Authorization Strategy
    • 禁用匿名访问

3. 凭证管理

  • Manage Jenkins → Credentials
  • 常用:
    • SSH Username + Key
    • Username/Password
    • Secret Text(Token)

五、CI/CD 示例(CentOS + Jenkins)

简单 Pipeline

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'make'
            }
        }
        stage('Deploy') {
            steps {
                sh 'scp app user@server:/opt/app'
            }
        }
    }
}

六、常见问题排查

Jenkins 启不来

# 1. Java 问题
java -version

# 2. 端口占用
netstat -tunlp | grep 8080

# 3. 权限问题
chown -R jenkins:jenkins /var/lib/jenkins

七、生产建议

✅ 单独一台 CentOS 做 Jenkins
✅ 定期备份 /var/lib/jenkins
✅ 使用 nginx 反向代理 + HTTPS
✅ Agent 节点分离构建压力


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

  • 写 systemd 优化参数
  • 配 Nginx + HTTPS
  • 写 完整 Pipeline 示例
  • 做 Jenkins + Docker + GitLab

你现在是 学习 / 测试 / 生产环境?

0 踩