温馨提示×

怎样Ubuntu自动部署Jenkins

小樊
44
2026-09-28 10:34:55
栏目: 智能运维

下面给你从零到自动部署 Jenkins 的几种常见方案,按“简单 → 自动化程度高”排列,你可以按需求选。


一、最常用:脚本一键安装(半自动)

1️⃣ 准备 Ubuntu

sudo apt update
sudo apt upgrade -y

2️⃣ 安装 Java(Jenkins 依赖)

sudo apt install openjdk-17-jdk -y

3️⃣ 添加 Jenkins 源并安装

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

sudo apt update
sudo apt install jenkins -y

4️⃣ 启动并设置开机自启

sudo systemctl enable jenkins
sudo systemctl start jenkins

5️⃣ 查看初始密码

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

访问:

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

二、全自动:Shell 脚本一键部署

你可以把这写成 install_jenkins.sh:

#!/bin/bash
set -e

sudo apt update
sudo apt install -y openjdk-17-jdk wget

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

sudo apt update
sudo apt install -y jenkins

sudo systemctl enable jenkins
sudo systemctl start jenkins

echo "Jenkins installed successfully"

运行:

chmod +x install_jenkins.sh
./install_jenkins.sh

三、生产推荐:Docker 自动部署(最干净)

1️⃣ 安装 Docker

sudo apt install -y docker.io docker-compose
sudo systemctl enable docker

2️⃣ docker-compose.yml

version: "3"
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - jenkins_home:/var/jenkins_home

volumes:
  jenkins_home:

3️⃣ 启动

docker compose up -d

四、真正“自动部署”:CI/CD 场景

如果你说的是 Jenkins 自动部署应用,典型流程是:

  1. Git Push
  2. Jenkins 拉代码
  3. 构建(Maven / npm / Docker)
  4. 部署到服务器

常见插件:

  • Git
  • Pipeline
  • Docker
  • SSH / Ansible

示例 Pipeline:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('Deploy') {
            steps {
                sh 'docker compose up -d --build'
            }
        }
    }
}

五、常见坑提醒 ⚠️

  • 防火墙要放行 8080
sudo ufw allow 8080
  • 云服务器需开放安全组
  • Java 版本不匹配会导致 Jenkins 起不来

如果你愿意,可以告诉我: ✅ 是否用 Docker ✅ 是否要 Jenkins 自动部署某个项目 ✅ Ubuntu 版本(20.04 / 22.04 / 24.04)

我可以直接给你定制版自动部署方案。

0 踩