温馨提示×

centos怎么用jenkins部署项目

小樊
39
2026-10-03 08:45:38
栏目: 智能运维

下面给你一个在 CentOS 上使用 Jenkins 部署项目的完整思路和常见做法,适合新手到中等水平。你可以按自己项目类型(Java / Node / 前端 / 脚本)做调整。


一、环境准备(CentOS)

1. 安装 JDK(Jenkins 依赖)

yum 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

yum install -y jenkins

3. 启动 Jenkins

systemctl start jenkins
systemctl enable jenkins

4. 开放端口

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

浏览器访问:

http://服务器IP:8080

初始密码:

cat /var/lib/jenkins/secrets/initialAdminPassword

二、Jenkins 基础配置

  1. 安装推荐插件
  2. 创建管理员账号
  3. 安装常用插件:
    • Git
    • Maven Integration(Java)
    • NodeJS(前端/Node)
    • SSH / Publish Over SSH(服务器部署)

三、示例 1:部署 Java(Maven)项目

1. Jenkins 全局工具配置

  • JDK:指向 /usr/lib/jvm/java-11-openjdk
  • Maven:自动安装或指定路径

2. 新建任务(Freestyle / Maven 项目)

  • 源码管理:Git
    https://github.com/xxx/xxx.git
    
  • 构建命令:
mvn clean package

3. 部署方式(常见)

方式 A:SSH 拷贝 jar 包(推荐)

scp target/app.jar user@server:/opt/app/
ssh user@server "systemctl restart app"

方式 B:Jenkins 直接运行

nohup java -jar target/app.jar &

四、示例 2:部署 Node / 前端项目

1. 安装 NodeJS 插件

Jenkins → 全局工具配置 → NodeJS

2. 构建脚本

npm install
npm run build

3. 部署

scp -r dist/* user@server:/usr/share/nginx/html/

五、示例 3:用 Shell 脚本统一部署(最常用)

Jenkins 只负责拉代码 + 执行脚本:

#!/bin/bash
git pull
mvn package
systemctl restart myapp

Jenkins 构建步骤:

sh deploy.sh

六、用 Pipeline(推荐进阶)

pipeline {
    agent any
    stages {
        stage('Pull') {
            steps {
                git 'https://github.com/xxx/xxx.git'
            }
        }
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('Deploy') {
            steps {
                sh 'bash deploy.sh'
            }
        }
    }
}

七、常见问题

Jenkins 无法启动

journalctl -u jenkins

权限问题

chown -R jenkins:jenkins /var/lib/jenkins

SSH 免密

ssh-copy-id user@server

如果你愿意,可以告诉我:

  • ✅ CentOS 版本
  • ✅ 项目类型(Java / Vue / Python)
  • ✅ 是否要 Docker 部署

我可以直接给你可复制的 Jenkins 配置和脚本。

0 踩