第二篇:《Jenkins 从零搭建:安装、配置与第一个 Pipeline》

工欲善其事,必先利其器。搭建 Jenkins 环境是 CI/CD 实践的第一步。本文详细介绍三种 Jenkins 安装方式(WAR 包、系统包、Docker),重点推荐 Docker 方式,并带你完成初始配置、插件安装,最后创建第一个 Pipeline 任务。跟着操作,30 分钟内拥有一个可用的 Jenkins 环境并跑通第一个流水线。

一、安装方式对比与选型

Jenkins 官方提供多种安装方式,各有适用场景:

💡 推荐选择:对于新手和大多数生产场景,Docker 安装方式是最优选择。它预装了所有依赖项,避免了环境冲突;通过数据卷持久化配置,升级时不会丢失数据。

二、Docker 方式安装 Jenkins(推荐)

2.1 准备 Docker 环境

确保系统已安装 Docker Engine,建议使用 20.10 以上版本:

bash 复制代码
docker --version

如果未安装 Docker,可参考以下命令快速安装(Ubuntu 示例):

bash 复制代码
sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

⚠️ 常见问题:如果遇到权限错误,将当前用户加入 docker 组:sudo usermod -aG docker $USER,然后重新登录。

2.2 启动 Jenkins 容器

运行以下命令启动 Jenkins 容器:

bash 复制代码
docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts

参数说明:

-d:后台运行容器

-p 8080:8080:映射 Jenkins Web 端口

-p 50000:50000:映射 Jenkins Agent 通信端口

-v jenkins_home:/var/jenkins_home:关键,使用 Docker 卷持久化 Jenkins 数据

-v /var/run/docker.sock:/var/run/docker.sock:让 Jenkins 容器内的 Docker 命令可以调用宿主机的 Docker 守护进程

⚠️ 注意:如果容器时间与宿主机不同步,可添加 -v /etc/localtime:/etc/localtime:ro 挂载。

2.3 获取初始密码

首次启动后,Jenkins 会生成一个初始管理员密码。通过以下命令查看:

bash 复制代码
docker logs jenkins

在输出中查找类似以下内容的一行:

text

Please use the following password to proceed to installation:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

复制该密码,准备进行初始化配置。

三、Jenkins 初始化配置

3.1 访问 Jenkins 并解锁

打开浏览器,访问 http://<你的服务器IP>:8080

输入上一步获取的初始密码

点击"继续"

⚠️ 注意:如果服务器有防火墙,需开放 8080 端口。

3.2 安装插件

Jenkins 提供两种插件安装方式:

安装推荐的插件:自动安装最常用的插件集合(推荐新手选择)

选择插件来安装:手动挑选需要的插件

推荐插件列表默认包含 Git、Pipeline、Docker 等核心插件。

⚠️ 常见坑点:如果网络环境特殊,插件安装可能超时。解决方案是配置国内镜像源,或在容器内手动下载插件包。

3.3 创建管理员账户

插件安装完成后,按提示创建第一个管理员用户:

用户名:admin(或自定义)

密码:设置一个强密码

邮箱:填写你的邮箱地址

3.4 配置 Jenkins 实例地址

输入 Jenkins 的访问 URL(默认 http://<服务器IP>:8080),点击"保存并完成"。

⚠️ 重要提醒:首次安装后,建议立即配置 Jenkins 的 JVM 参数,否则默认内存分配只有 256MB,跑几个任务就容易 OOM。

Docker 方式调整 JVM 参数(启动容器时指定):

bash 复制代码
docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e JAVA_OPTS="-Xmx2048m -Xms512m" \
  jenkins/jenkins:lts

四、第一个 Pipeline 任务

4.1 在 Jenkins UI 中创建 Pipeline 任务

点击 Jenkins 首页的 "新建任务" (New Item)

输入任务名称,如 my-first-pipeline

选择 "流水线" (Pipeline)类型

点击"确定"

4.2 编写 Pipeline 脚本

在任务配置页面的 "流水线" 部分,选择 "Pipeline script",粘贴以下代码:

groovy 复制代码
pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                echo '开始拉取代码...'
                // 实际项目中在此处添加 git checkout 命令
            }
        }
        stage('编译') {
            steps {
                echo '开始编译...'
                sh 'echo "编译完成"'
            }
        }
        stage('测试') {
            steps {
                echo '运行单元测试...'
                sh 'echo "测试通过"'
            }
        }
        stage('部署') {
            steps {
                echo '部署到测试环境...'
                sh 'echo "部署完成"'
            }
        }
    }
}

4.3 保存并运行

点击 "保存"

在任务页面点击 "立即构建" (Build Now)

等待构建完成,点击构建编号查看 "控制台输出" (Console Output)

如果看到类似以下输出,说明你的第一个 Pipeline 运行成功:

text

Pipeline stage (拉取代码)

Pipeline echo

开始拉取代码...

Pipeline stage (编译)

Pipeline echo

开始编译...

Pipeline echo

编译完成

...

Finished: SUCCESS

五、系统包安装方式(备选)

如果无法使用 Docker,也可以通过系统包安装 Jenkins:

Ubuntu/Debian:

bash 复制代码
# 安装 Java
sudo apt install -y openjdk-11-jdk

# 添加 Jenkins 仓库
sudo wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

# 安装 Jenkins
sudo apt update
sudo apt install -y jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins

CentOS/RHEL:

bash 复制代码
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
sudo yum install -y jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins

安装完成后,访问 http://<服务器IP>:8080,后续配置步骤与 Docker 方式相同。

六、小结

安装方式:Docker 方式最推荐,数据卷持久化配置,升级方便

初始化配置:获取初始密码 → 安装插件 → 创建管理员账户

第一个 Pipeline:创建 Pipeline 任务 → 编写声明式脚本 → 运行并查看控制台输出

相关推荐
ai小陈3 小时前
GPU服务器租用存储验收:检查点写入与磁盘吞吐实战
运维·服务器·人工智能·ai·ssh·gpu算力
leikooo4 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
Ivanqhz5 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
沙漠之主5 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
FPGA小徐5 小时前
PA1 基础设施(2)深度解析:NEMU 中 ITRACE、MTRACE、FTRACE、IRINGBUF、ETRACE、DIFFTEST 全解析
java·服务器·网络
有毒的教程6 小时前
VMware仅主机模式:物理机 ↔ 虚拟机 文件共享
运维
YOLO数据集集合6 小时前
EvoAgent:面向PR研发治理的自进化Multi-Agent Harness系统
java·开发语言·目标检测·agent·自进化
知行EDI6 小时前
知行之桥 MaBang 端口使用指南——Create Order 订单创建篇
java·服务器·数据库
笑鸿的学习笔记6 小时前
C++笔记之大块顺序写
java·c++·笔记
打工仔折腾 AI6 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战