系统管理与全局设置
说实话,很多刚接触Jenkins的同学,一上来就急着建流水线,结果后面各种报错、权限混乱、工具找不到。我个人的习惯是:先把系统管理这块摸透,这才叫「磨刀不误砍柴工」。今天咱们就把系统管理页面、全局安全、全局工具配置、以及日志与系统信息挨个捋一遍。
系统管理页面速览
登录Jenkins后,左侧导航栏最下方有个「系统管理」链接。点进去,你会看到大概二三十个条目。别被吓到,真正日常高频使用的就那几个。我把它分成三大块:
| 分类 | 核心功能 | 我常用来干什么 |
|---|---|---|
| 安全与权限 | 全局安全配置、凭据管理、用户管理 | 设置LDAP、管理SSH密钥、分配项目权限 |
| 工具与环境 | 全局工具配置、系统信息、管理插件 | 配置JDK、Maven、Git路径,看CPU/内存 |
| 维护与监控 | 系统日志、系统信息、管理节点、脚本命令行 | 排查构建失败、清理磁盘、执行Groovy脚本 |
嗯,这里要特别提一下:左下角那个「Manage Jenkins」入口,不同版本可能叫法不一样,但核心菜单都一样。
全局安全配置——别等出事了再后悔
这个页面位于「系统管理」->「全局安全配置」。我见过不少团队,Jenkins装好就直接用默认的「登录用户可以做任何事」,结果测试环境直接被删库。嗯,这里要注意,安全策略不是越复杂越好,但起码要做到「最小权限」。
核心配置项:
- 安全域(Security Realm): 用什么方式验证用户身份。常见选项:Jenkins自带用户数据库、LDAP、GitHub OAuth、SAML。我个人推荐小团队先用「Jenkins自带」,后期再切LDAP。
- 授权策略(Authorization): 用户可以干什么。建议用「基于项目的矩阵授权策略」,可以精细到每个Job的读/写/运行权限。
小经验: 如果你配了LDAP,记得先在「Manage Users」里检查用户能否登录,别一上来就全改了然后自己被锁外面。我以前干过这种事,最后只能去服务器上改config.xml,折腾了半小时。
全局工具配置——你所有Pipeline的依赖都在这
「系统管理」->「全局工具配置」。这个页面我几乎每天都要看。说白了,这里就是告诉Jenkins:你干活用的JDK、Git、Maven、Gradle、Docker、Node.js……它们装在哪。
JDK 配置
你有两种方式:
- 自动安装: Jenkins从Oracle/AdoptOpenJDK网站下载。好处是省事,坏处是下载慢、版本受限于Jenkins列表。
- 手动指定路径: 服务器上已经装了JDK,填JAVA_HOME。我习惯用这种方式,因为生产环境JDK版本固定,不易出幺蛾子。
示例:手动安装JDK11
名称:JDK11
JAVA_HOME:/usr/lib/jvm/java-11-openjdk-amd64
(不要勾选「Install automatically」)
Git 配置
Jenkins默认会使用系统PATH里的git。但你也可以指定一个固定路径。我曾经遇到一个问题:Agent机器上git版本太低,导致pipeline里某些命令不兼容。后来我统一在所有节点装了git 2.30+,然后在全局工具里配好路径,世界清净了。
Maven 配置
建议勾选「自动安装」,指定版本。注意Maven版本要和你的项目兼容。比如Spring Boot 2.x推荐Maven 3.6+。
⚠️ 特别注意: 如果你使用多个Jenkins Agent(节点),每个Agent上都需要有对应的工具。全局工具配置只是定义了「Jenkins知道这些工具」,但实际执行时,Agent上要真的存在该路径或能自动下载。我建议在节点上预先装好常用工具,避免每次构建时自动下载浪费时间。
系统信息与日志——问题排查的钥匙
「系统管理」->「系统信息」,这里展示了Jenkins运行环境的全部细节:操作系统版本、JVM参数、内存、环境变量、系统属性等等。很多奇怪的构建失败,根源出在环境差异上,比如Agent机器的字符集、时区、临时目录权限。
我常用的排查套路:
- 构建失败 → 先看「系统日志」。
- 如果日志里没有明确错误,去「管理节点」-> 选中该Agent -> 查看「系统信息」对比与Master的差异。
- 常见差异:JAVA_HOME不同、PATH缺失某些命令、磁盘空间不足。
快速查看日志命令: 在「系统管理」->「系统日志」里,可以按日志级别过滤。我习惯把「All Jenkins Log」级别调为INFO,如果有报错再看FINE或WARNING。
日志文件在哪里?
默认在 $JENKINS_HOME/logs/ 下。以Tomcat部署为例,位置可能是 /var/lib/jenkins/logs/。文件按日期滚动,保留最近7天(可配置)。你可以直接用tail -f实时跟踪构建问题:
# 在服务器上
tail -f /var/lib/jenkins/logs/jenkins.log
其他实用全局设置
除了上面三大块,还有几个小配置值得一聊:
- 系统消息(System Message): 在系统管理页面顶部显示一段文字。我用来写「当前运维状态」或「维护公告」,所有用户都能看到。
- 执行者数量(# of executors): 主节点同时能跑多少个构建任务。默认2,如果你只有一台Jenkins服务器且构建量大,可以调高,但注意CPU/内存压力。
- SCM 检出重试次数: 当Git拉取代码失败时自动重试。我设置3次,能有效降低网络抖动导致的失败。
关于凭据管理: 虽然本章没展开讲,但你配工具、配Git、配Docker Registry时,全都要用到凭据。建议花10分钟把全局凭据(用户名+密码、SSH私钥、Secret text)梳理一遍,做到每个凭据都有清晰的名字和说明。不然半年后你看着一串凭证不知道是干嘛用的,相信我,这太常见了。
好了,系统管理与全局设置的核心就这些。先配好安全、配好工具、熟悉日志排查方式,后面的Pipeline才能真正跑得顺。不然你想想看,Pipeline里引用了一个JDK11,结果全局工具里压根没配,那还玩什么?