{T}

Jenkins 简介与安装准备

概述

Jenkins 是一个开源的自动化服务器,用于自动化构建、测试和部署软件,是目前最流行的 CI/CD 工具之一。本文介绍 Jenkins 核心特点、安装方式对比、系统要求及插件体系。

学习目标

  1. 了解 Jenkins 六大特点及适用场景
  2. 掌握直接安装与 Docker 安装的对比与选择
  3. 熟悉 Jenkins 插件系统及前端项目必备插件

一、Jenkins 核心特点

特点说明价值
持续集成支持频繁的代码集成和自动构建尽早发现集成问题
持续交付自动化部署到各种环境快速交付价值
安装配置简单提供 war 包、Docker 等多种安装方式快速上手
插件丰富拥有 1800+ 插件,覆盖几乎所有 CI/CD 工具高度可定制
可扩展可基于插件体系扩展功能满足定制需求
分布式支持在多台机器上分配工作负载提升构建效率

国内很多 CI/CD 云平台(如腾讯 Coding、阿里云云效)都是基于 Jenkins 进行的二次开发。


二、安装方式对比

维度直接安装Docker 安装
前提条件需要安装 JDK需要安装 Docker
资源占用较少Docker 占用额外资源
安装复杂度中等简单
环境隔离无隔离容器隔离
可移植性中等
适用场景生产环境、资源有限开发测试、快速部署

选择建议:

  • 老旧系统/资源有限/生产环境 → 直接安装
  • 现代 Linux/Mac/快速部署/环境隔离 → Docker 安装

三、系统要求

硬件要求

类型最低要求推荐配置
内存512 MB2 GB+
硬盘10 GB50 GB+
CPU1 核2 核+

软件要求

安装方式软件依赖检查命令
直接安装JDK 8+(推荐 11/17)java -version
Docker 安装Docker 19.03+docker --version

四、安装方法概览

war 包运行(测试用)

bash
java -jar jenkins.war
java -jar jenkins.war --httpPort=8081

Linux apt-get 安装(推荐)

bash
# 添加仓库密钥
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

# 添加仓库
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-get update
sudo apt-get install jenkins -y
sudo systemctl start jenkins
sudo systemctl enable jenkins

Docker 安装

bash
docker pull jenkins/jenkins:lts
docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /var/jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts

macOS Homebrew

bash
brew install jenkins-lts
brew services start jenkins-lts

五、初始化配置流程

图表渲染中…

获取初始密码:

bash
# 直接安装
cat /var/lib/jenkins/secrets/initialAdminPassword

# Docker 安装
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

六、插件系统

前端项目必备插件

插件用途优先级
NodeJS PluginNode.js 环境必须
Git PluginGit 版本控制必须
PipelinePipeline 流水线必须
DockerDocker 部署重要
Publish Over SSH远程部署重要
Email Extension邮件通知可选

插件安装方式

方式适用场景
GUI 安装系统管理 → 插件管理 → 可选插件
CLI 安装java -jar jenkins-cli.jar install-plugin <name>
离线安装下载 .hpi 文件 → 插件管理 → 高级 → 上传

七、目录结构

code
/var/lib/jenkins/
├── config.xml              # 主配置文件
├── credentials.xml         # 凭证配置
├── jobs/                   # 任务目录
│   └── <job-name>/
│       ├── config.xml      # 任务配置
│       └── builds/         # 构建历史
├── plugins/                # 插件目录
├── secrets/                # 密钥目录
├── users/                  # 用户目录
└── workspace/              # 工作空间

常见问题

问题解决方案
无法访问 Jenkins检查端口、开放防火墙
忘记管理员密码修改 config.xml 关闭安全验证
插件安装失败使用离线安装或更新 Jenkins
构建卡住安装 Build Timeout 插件
磁盘空间不足定期清理旧构建

延伸阅读