3、Jenkins基础配置:系统配置、全局工具配置、安全配置与用户管理

好,咱们接着往下走。Jenkins装好了,界面也看到了,但这时候它还是个「毛坯房」。你得给它配好水电煤气,才能开始盖楼。说白了,这一章就是教你怎么把Jenkins从「能跑」变成「好用」。

我个人习惯,拿到一个新Jenkins环境,第一件事不是急着建任务,而是先把三样东西搞定:系统配置、全局工具、安全与用户。顺序别搞反,不然你后面会踩坑。

3.1 系统配置:Jenkins的「全局变量」

系统配置在哪儿?
Manage Jenkins → Configure System。进去之后你会看到一大片表单,别慌,咱们挑重点说。

3.1.1 Jenkins URL

这个必须填对。Jenkins要用这个地址来回调自己,比如发邮件里的链接、触发构建的回调地址。我见过有人填了localhost,结果同事点邮件里的链接,跳到自己电脑上去了……

注意: 生产环境一定要用域名或公网IP,别用127.0.0.1。

3.1.2 系统管理员邮箱

填一个真实能收信的邮箱。Jenkins出故障、构建失败时,会用它发通知。我曾经因为忘了配这个,半夜构建挂了没人知道,第二天被领导叫去喝茶……

3.1.3 全局属性

这里可以加一些环境变量,比如JAVA_HOMEMAVEN_HOME。但说实话,我更推荐在全局工具配置里统一管理,后面会讲。

小技巧: 如果你团队有多个项目共用同一套配置,可以在「全局属性」里加一个BUILD_TIMEOUT=30这样的变量,所有pipeline都能读到。

3.2 全局工具配置:JDK、Git、Maven

这是重头戏。Jenkins本身不装这些工具,它只是帮你管理。你告诉它「JDK放哪儿」,它就去哪儿找。

路径:Manage Jenkins → Global Tool Configuration

3.2.1 JDK 配置

有两种方式:

  • 自动安装: Jenkins从Oracle或Adoptium下载。适合测试环境,但生产环境我一般不这么干——下载慢,还容易因为网络问题失败。
  • 手动指定路径: 你提前在服务器上装好JDK,然后填路径。比如/usr/lib/jvm/java-11-openjdk。我个人习惯用这种方式,稳定可控。
避坑指南: 我曾经在CentOS上配JDK,填了/usr/bin/java,结果Jenkins报错说找不到tools.jar。后来发现要填JDK根目录,不是java命令的路径。

3.2.2 Git 配置

这个简单。填Git可执行文件的路径就行,比如/usr/bin/git。如果你用Windows,可能是C:\Program Files\Git\bin\git.exe

嗯,这里要注意:Jenkins默认会用自带的Git插件,但如果你服务器上没装Git客户端,它还是会报错。所以先确认git --version能跑通。

3.2.3 Maven 配置

同样支持自动安装和手动指定。我建议手动指定,因为Maven版本升级频繁,自动安装有时候会拉到不兼容的版本。

配置完记得加一个settings.xml的路径。你想想看,如果每个开发都用自己的私服地址,那构建环境就不一致了。统一在Jenkins里配一个全局的settings.xml,省心很多。

工具 推荐方式 路径示例
JDK 手动指定 /usr/lib/jvm/java-11
Git 手动指定 /usr/bin/git
Maven 手动指定 /opt/apache-maven-3.8.6

3.3 安全配置:别让Jenkins裸奔

Jenkins默认安装后是「允许任何人做任何事」——这太危险了。你想想看,如果Jenkins暴露在公网上,别人可以直接删你的任务、改你的构建脚本。

路径:Manage Jenkins → Configure Global Security

3.3.1 启用安全

勾选「启用安全」。然后选「Jenkins专有用户数据库」,这样用户信息存在Jenkins自己的数据库里,不用依赖外部LDAP。

3.3.2 授权策略

我一般选「登录用户可以做任何事」,然后配合矩阵授权策略来精细控制。比如:

  • 管理员:全部权限
  • 开发者:Job的读、构建、取消权限
  • 测试人员:只读+触发构建
警告: 千万别选「任何用户可以做任何事」——除非你是在自己笔记本上玩。

3.3.3 CSRF保护

默认是开启的。别关。关了的话,别人可以伪造请求来操作你的Jenkins。我曾经见过一个团队因为关了CSRF保护,被恶意脚本删光了所有构建记录……

3.4 用户管理:谁可以干什么

安全配置好了,接下来就是建用户、分权限。

路径:Manage Jenkins → Manage Users

3.4.1 创建用户

点「创建用户」,填用户名、密码、邮箱。邮箱很重要,因为Jenkins会用它发通知。

3.4.2 分配权限

回到Configure Global Security,在「矩阵授权策略」里添加用户,然后勾选对应的权限。

举个例子:

  • zhangsan勾上Job/ReadJob/BuildJob/Cancel
  • lisi只勾Overall/ReadJob/Read
小技巧: 如果你团队人很多,可以建一个「developers」组,然后给组授权,而不是一个个用户去配。Jenkins支持用Role-based Strategy插件来实现。

3.5 避坑总结

最后,我把自己踩过的坑列一下,你遇到了可以少走弯路:

  • JDK路径填错: 记得填根目录,不是bin目录
  • Git没装: Jenkins不会帮你装Git,你得自己装
  • Maven settings.xml没配: 构建时下载依赖会失败
  • 安全配置没开: 别人能直接操作你的Jenkins
  • CSRF保护关闭: 容易被攻击

好了,这一章的内容就这些。配置好这三块,你的Jenkins才算真正「能用」。下一章咱们开始建第一个流水线任务,到时候你就知道这些配置有多重要了。