Jenkins界面与基本操作详解 - 手把手教你玩转Jenkins

一、前言
上一篇文章我们成功安装了Jenkins。现在打开Jenkins界面,面对满屏的菜单和按钮,你可能会有些懵。别担心,本文将带你逐一了解Jenkins界面的每一个角落,让你操作起来得心应手。
二、Jenkins界面总览
登录Jenkins后,你会看到主界面,主要由以下几个区域组成:
2.1 左侧导航菜单
左侧菜单是Jenkins的核心操作入口:
- New Item(新建任务):创建新的构建任务
- People(用户):查看和管理Jenkins用户
- Build History(构建历史):查看所有构建记录
- Manage Jenkins(管理Jenkins):系统管理入口(非常重要!)
- My Views(我的视图):切换自定义视图
- Credentials(凭据):管理密码、密钥等凭据
- Build Queue(构建队列):正在排队等待执行的构建
- Executors(执行器):当前正在运行的构建
2.2 主内容区域
中间区域显示当前视图下的所有任务(Jobs),包括:
- 任务名称和状态图标(🔵上次成功 / 🔴上次失败 / 🟡未构建)
- 上次构建时间
- 上次成功构建时间
- 上次失败构建时间
- 是否允许构建的开关
2.3 右侧边栏
右侧显示构建队列和执行器状态:
- Build Queue:等待执行的构建列表
- Executors:正在执行构建的线程,默认2个
三、视图管理
当你的Jenkins任务越来越多时,视图就变得非常重要了。视图可以帮助你分类和筛选任务。
3.1 创建新视图
点击主界面顶部的 "+" 号 或 "New View":
- 视图名称:给视图起个名字,如"后端项目"
- 视图类型:
- List View(列表视图):手动选择要显示的任务
- My View(我的视图):只显示你有权限的任务
3.2 List View详细配置
选择List View后,可以进行更多配置:
- Jobs:勾选要在这个视图中显示的任务
- Recurse in subfolders:是否显示子文件夹中的任务
- Columns:选择要显示的列(状态、名称、上次成功等)
- Job Filters:使用正则表达式过滤任务名称
- Add status filter:按构建状态过滤
建议按项目类型创建视图,例如:
- "前端项目" - 所有前端构建任务
- "后端项目" - 所有后端构建任务
- "定时任务" - 所有定时执行的任务
- "部署任务" - 所有部署相关的任务
3.3 编辑和删除视图
点击视图标签旁边的下拉箭头,可以编辑或删除视图。
四、凭据管理
Jenkins在构建过程中经常需要访问外部系统(如Git仓库、服务器、数据库等),这些都需要凭据(用户名密码、SSH密钥等)。
4.1 进入凭据管理
点击左侧 Credentials → System → Global credentials,这里管理的是全局凭据,所有任务都可以使用。
4.2 添加用户名密码凭据
点击"Add Credentials":
- Kind:选择"Username with password"
- Scope:选择"Global"(全局可用)
- Username:填写用户名
- Password:填写密码
- ID:唯一标识(如
gitlab-creds),Pipeline中通过这个ID引用 - Description:描述说明(如"GitLab访问账号")
4.3 添加SSH密钥凭据
Kind选择"SSH Username with private key":
- Username:SSH用户名(如
root) - Private Key:
- "Enter directly":直接粘贴私钥内容
- "From a file on Jenkins master":从文件读取
- ID:如
deploy-ssh-key
# 生成SSH密钥对
ssh-keygen -t rsa -b 4096 -C "jenkins@yourcompany.com"
# 查看私钥内容(粘贴到Jenkins)
cat ~/.ssh/id_rsa
# 将公钥复制到目标服务器
ssh-copy-id user@target-server
4.4 添加Secret Text凭据
Kind选择"Secret text":
- Secret:填写密钥内容(如API Token、访问密钥等)
- ID:如
docker-hub-token
4.5 在Pipeline中使用凭据
pipeline {
agent any
stages {
stage('Checkout') {
steps {
// 使用凭据拉取代码
git credentialsId: 'gitlab-creds',
url: 'git@gitlab.com:group/project.git'
}
}
stage('Deploy') {
steps {
// 使用SSH凭据部署
sshagent(credentials: ['deploy-ssh-key']) {
sh 'ssh user@server "cd /app && git pull"'
}
}
}
}
}
五、节点管理
Jenkins采用Master/Agent架构。Master负责调度任务,Agent负责执行构建。当构建任务很多时,添加Agent节点可以分担Master的压力。
5.1 Master/Agent架构说明
- Master(主节点):Jenkins本身运行的服务器,负责任务调度、Web界面、存储配置
- Agent/Slave(代理节点):执行具体构建任务的工作节点
为什么要用Agent?
- 多台机器并行构建,提高效率
- 不同操作系统(Linux/Windows/macOS)构建需求
- 避免在Master上执行构建,保证Master稳定
- 资源隔离,某些任务需要特殊环境
5.2 添加Agent节点
进入 Manage Jenkins → Nodes,点击"New Node":
- Node name:节点名称(如
agent-linux-01) - Type:选择"Permanent Agent"(永久代理)
配置参数:
- Remote root directory:Agent上的工作目录(如
/home/jenkins) - Labels:标签(如
linux docker),Pipeline中通过标签选择节点 - Usage:
- "Use this node as much as possible":尽量使用
- "Only build jobs with label expressions matching this node":只构建匹配标签的任务
- Launch method:
- "Launch agents via SSH":通过SSH启动(最常用)
- "Launch agent via execution of command on the master":通过命令启动
5.3 SSH方式连接Agent
选择"Launch agents via SSH":
- Host:Agent服务器的IP地址
- Credentials:选择SSH凭据
- Host Key Verification Strategy:选择"Known hosts file"或"Non verifying Verification Strategy"
在Agent服务器上需要准备:
# 1. 创建Jenkins工作目录
sudo mkdir -p /home/jenkins
sudo chown jenkins-user:jenkins-user /home/jenkins
# 2. 确保Java已安装
java -version
# 3. 确保SSH服务运行
sudo systemctl status sshd
5.4 在Pipeline中指定节点
pipeline {
// 通过标签选择Agent
agent { label 'linux && docker' }
stages {
stage('Build') {
steps {
sh 'echo "Building on Linux Agent"'
}
}
}
}
六、系统管理
点击左侧 Manage Jenkins,这里是Jenkins的大脑控制中心。
6.1 常用管理功能
- System(系统配置):全局系统设置,如Jenkins URL、邮件服务器、全局环境变量
- Tools(全局工具配置):配置JDK、Maven、Git、Gradle等工具路径
- Plugins(插件管理):安装、更新、卸载插件
- Nodes(节点管理):管理Master和Agent节点
- Security(安全配置):用户认证和授权策略
- Credentials(凭据管理):管理密码、密钥等
- Users(用户管理):创建、管理Jenkins用户
6.2 全局安全配置
进入 Manage Jenkins → Security:
- Security Realm(认证域):
- "Jenkins' own user database":Jenkins自带用户管理
- "LDAP":对接公司的LDAP/AD
- "Unix user/group database":使用系统用户
- Authorization(授权策略):
- "Anyone can do anything":所有人可以做任何事(危险!)
- "Logged-in users can do anything":登录用户可以做任何事
- "Matrix-based security":矩阵式权限控制(推荐)
- "Project-based Matrix Authorization Strategy":项目级矩阵权限
6.3 全局环境变量
在 Manage Jenkins → System 中,找到"Global properties":
- 勾选"Environment variables"
- 添加常用的全局变量,如:
# 示例全局环境变量
JAVA_HOME = /opt/java/openjdk
MAVEN_HOME = /opt/maven
DOCKER_HOST = unix:///var/run/docker.sock
REGISTRY_URL = https://registry.example.com
七、用户权限管理
在团队协作中,权限管理非常重要。推荐使用Role-based Strategy插件。
7.1 安装Role-based Strategy插件
在插件管理中搜索安装 Role-based Strategy。
7.2 配置角色
进入 Manage Jenkins → Manage and Assign Roles:
创建角色(Manage Roles):
- admin角色:拥有所有权限
- developer角色:可以构建和查看,不能配置
- viewer角色:只能查看,不能构建
分配角色(Assign Roles):
- 将用户绑定到对应角色
- 支持全局角色和项目角色
7.3 项目级权限
使用Item角色可以控制到具体项目的权限:
- Pattern填项目名称的正则,如
frontend-.*匹配所有前端项目 - 给不同团队分配不同项目的权限
八、总结
本文详细介绍了Jenkins界面的各个功能区域:
- 界面导航:左侧菜单、主内容区、执行器状态
- 视图管理:分类展示任务,保持界面整洁
- 凭据管理:安全存储密码和密钥
- 节点管理:Master/Agent架构扩展
- 系统管理:全局配置和安全设置
- 权限管理:基于角色的访问控制
下一篇我们将动手创建第一个Freestyle项目,体验Jenkins的自动化构建能力!







