温馨提示×

如何远程部署Ubuntu Jenkins

小樊
49
2026-09-19 10:09:45
栏目: 智能运维

下面给你一套从零开始、可落地的“远程部署 Ubuntu + Jenkins”方案,分为 云服务器方式(最常用)内网/跳板方式 两种场景,你可以按自己的环境选。


一、准备环境(通用)

1. 一台 Ubuntu 服务器(远程)

推荐版本:

  • Ubuntu 22.04 LTS(最稳)
  • Ubuntu 20.04 LTS

示例:

ssh user@your-server-ip

二、在 Ubuntu 上安装 Jenkins(远程服务器操作)

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装 Java(Jenkins 依赖)

sudo apt install openjdk-17-jdk -y
java -version

3. 安装 Jenkins

方式 A:官方仓库(推荐)

sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
  https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key

echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/" | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

sudo apt update
sudo apt install jenkins -y

4. 启动 Jenkins

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

三、远程访问 Jenkins

1. 防火墙(重要)

sudo ufw allow 8080
sudo ufw enable

2. 浏览器访问

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

3. 获取初始密码

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

四、(推荐)用 Nginx + 域名远程访问

1. 安装 Nginx

sudo apt install nginx -y

2. 配置反向代理

sudo nano /etc/nginx/sites-available/jenkins

内容:

server {
    listen 80;
    server_name jenkins.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

启用:

sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

五、内网服务器如何“远程部署”(无公网 IP)

方案 1:SSH 端口转发(最简单)

ssh -L 8080:localhost:8080 user@内网服务器

本地浏览器访问:

http://localhost:8080

方案 2:FRP / 内网穿透(生产推荐)

  • 公网服务器装 frps
  • 内网 Ubuntu 装 frpc
  • 映射 8080 端口

六、Jenkins 基础安全配置(必做)

  1. 安装推荐插件
  2. 创建管理员账号
  3. 禁止匿名访问
  4. 配置 SSH / Git 凭据
  5. 建议安装插件:
    • Pipeline
    • GitHub Integration
    • Docker
    • Blue Ocean

七、常见问题速查

问题 解决
访问不了 检查防火墙 / 安全组
Jenkins 起不来 journalctl -u jenkins
端口被占用 修改 /etc/default/jenkins
很慢 换 Jenkins 插件源

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

你可以告诉我:

  • ✅ 用的是 云服务器还是内网
  • ✅ 是否要 Docker 部署 Jenkins
  • ✅ 是否要 Jenkins + Git + 自动部署
  • ✅ 系统是 Ubuntu 几

我可以直接给你 一套完整可复制的命令或 CI/CD 示例

0