◆

Mac 用 brew 安装 Jenkins

2023-05-22 08:000

在本机装 Jenkins 主要是为了调试流水线。CI 配置这东西改一行就得推一次代码等一轮构建,反馈太慢;本地起一个实例,把 Jenkinsfile 跑通了再推上去,能省掉大量无效提交。

Jenkins 是 Java 写的,所以装它之前得有 JDK。Homebrew 装 Jenkins 时会把 OpenJDK 作为依赖一起装上,但如果本机已经有别的 JDK,要留意版本兼容——新版 Jenkins 要求 JDK 17 或 21,用 JDK 8 起不来。

安装

brew install jenkins

注意 jenkins 这个 formula 是最新主线版(weekly release),更新频繁。生产环境一般用长期支持版,对应的包名是 jenkins-lts:

brew install jenkins-lts

本地调试用哪个都行,我倾向于 LTS,插件兼容性问题少一些。

启动和访问

Homebrew 装的 Jenkins 用 brew services 管理:

brew services start jenkins-lts   # 启动并设为开机自启
brew services run jenkins-lts     # 只启动这一次,不注册自启
brew services stop jenkins-lts    # 停止

本地调试建议用 run 而不是 start,用完就停,不用让它常驻占内存。

启动后浏览器访问 http://localhost:8080。首次进入会要求输入初始管理员密码,密码在这个文件里:

cat ~/.jenkins/secrets/initialAdminPassword

~/.jenkins 是 Jenkins 的主目录(JENKINS_HOME),所有配置、任务定义、构建历史、插件都存在这里。想备份或者迁移,整个目录拷走就行。

8080 端口被占用的话(这个端口相当抢手,很多服务默认都用它),改端口需要编辑 Homebrew 生成的 plist 文件,位置用 brew services list 能看到,在启动参数里加 --httpPort=8081。

一个安全提醒

默认配置下 Jenkins 监听的是 0.0.0.0,也就是同一局域网内的其他机器能直接访问你的 Jenkins。Jenkins 能执行任意 shell 命令,暴露出去等于把机器的控制权交出去了。本地调试的话建议在启动参数里加 --httpListenAddress=127.0.0.1 只监听本机,或者至少确认防火墙挡住了 8080。这一点在咖啡厅、公司共享网络下尤其要注意。

💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVEMac 用 brew 安装 Jenkins加载中