Jenkins安装和使用
搭建Jenkins
一键安装 Jenkins
使用 Homebrew 可一键安装 Jenkins。
1 | brew install jenkins-lts |
安装中的问题
-
Error: unknown or unsupported macOS version: :sequoia
可能表示 Homebrew 还未完全支持该系统版本,可以尝试更新 Homebrew。
1
2brew update
brew upgrade
修改启动端口
安装完成之后,Jenkins 默认使用 8080 端口,如果端口被占用会出现启动失败情况,可以按照如下方法修改启动端口。
运行以下命令,确定 Jenkins 的安装路径:
1 | brew info jenkins-lts |
在输出内容中找到以下类似内容:
1 | jenkins-lts: stable 2.492.1 (bottled) |
/opt/homebrew/Cellar/jenkins-lts/2.492.1
就是 Jenkins 的根目录,修改根目录下的 homebrew.mxcl.jenkins-lts.plist
文件。
1 | vi homebrew.mxcl.jenkins-lts.plist |
找到下面这行内容:
1 | <string>--httpPort=8080</string> |
将 8080 端口修改为自己想要的端口,保存文件,重启 Jenkins 服务即可。
Jenkins 常用命令
启动命令:brew services start jenkins-lts
停止命令:brew services stop jenkins-lts
重启命令:brew services restart jenkins-lts
查看 Homebrew 下 Jenkins 运行状态:brew services list
配置Jenkins
首次登录
浏览器输入 http://localhost:<port>
进入 Jenkins 页面。
首次登录时,默认有一个 admin 管理员用户,页面会提示管理员密码的文件所在位置,打开文件复制密码登录,登录后,Jenkins 会提示创建一个新管理员用户,创建完之后,admin 用户会被删除。
插件配置
在 Jenkins 页面,找到 系统管理 -> 插件管理,在 Available plugins 中搜索想要安装的插件。
例如,我的项目是Spring Boot项目,代码版本管理在 GitHub 上,希望通过 Jenkins 打包部署到 Linux 服务器,大致需要安装如下插件:
- Git
- Pipeline
- Publish Over SSH(用于 SSH 远程部署)
Publish over SSH 配置
安装完 Publish Over SSH
之后,在系统管理 -> 系统配置 中找到 Publish over SSH 配置项。在 SSH Servers
下点击新增,配置 SSH Server 的以下信息:
- Name(服务名称,任意填写)
- Hostname(远程服务器IP)
- Username(远程服务器用户名)
- 高级配置,勾选
Use password authentication, or use a different key
,如果是密码登录,则输入Password,如果是密钥登录,则在Path to key
下输入 id_rsa 私钥文件路径,或者直接在Key
下输入完整私钥值。
最后,点击测试连接,提示Success则表示配置成功。
Tips:高级配置下的
Jump host
表示跳板机,意思是如果想要连接 Hostname(真正想要连接的目标服务器) , 但无法直接访问时,可以通过先连接 Jump host ,再让 Jenkins 通过 Jump host 连接 Hostname。连接过程如下:Jenkins(本机) -> Jump host -> Hostname
如果 Jump host 需要通过认证登录,可能就无法实现,经反复测试,在 Jenkins 2.492.1 版本下未找到可行方法,如果有大佬发现解决办法或解决思路,记得@我,感谢。
目前另一种解决办法是:在Job任务中,先连接 Jump host 机器,然后在 Exec command 下手动 ssh Hostname 访问目标机器。
全局配置
在 Jenkins 页面,找到 系统管理 -> 全局工具管理,配置 Maven、JDK、Git 等环境。
新建任务
不同的任务,在Jenkins配置的任务风格可能差异化也比较大,下面以具体任务需求为例:
本地SpringBoot服务,希望通过Maven打包部署到远程服务器,并在远程服务器执行Java程序
- 首先,自定义一个任务名称,选择自由风格,点击确定。
- 在 General 中,展开高级设置,勾选“使用自定义的工作空间”,然后填入SpringBoot项目所在目录地址。
- 在 Build Steps 中,点击“增加构建步骤”,选择“执行Shell”,输入项目的Maven打包操作命令。
Tips:当前pwd路径是第2步指定的工作空间路径。此外,即使全局配置了Maven环境,但在这里Jenkins好像无法获取到,所以手动加载了Maven的环境变量。
-
在 Build Steps 中,点击“增加构建步骤”,选择“Send files or execute commands over SSH”,确保该步骤在第3步的步骤之后。SSH Server选择需要部署的远程服务器,Source files 是工作空间的相对路径,Remove prefix 表示移除从 Source files 推送到 Remote directory 时需要移除的路径前缀,Remote directory 表示 SSH Server 连接后的相对路径,Exec command 表示在推送文件后执行的命令。
-
最后,Save保存,然后点击“立即构建”,即可运行任务。