在 Jenkins 中进行构建时,可能需要首先 SSH 登录到一个远程服务器以执行必要的脚本,然后再执行构建。这时,需要安装 SSH Plugin,并进行如下配置。
安装 ssh 插件
在Jenkins界面,系统管理->管理插件->安装SSH Plugin
![[转 ] 使用 Jenkins 执行远程脚本 - 图1](/uploads/projects/duoli@os/f34d0bf6bf5f2d5c7cdba2ed07f32909.jpeg)
因为已经是安装过了, 所以在已安装界面
说明,SSH Plugin的目的就是支持SSH到远程服务器,然后执行Shell命令。
配置 ssh 远程主机
在Jenkins界面,系统管理->Configure(配置)->SSH remote hosts
配置要SSH远程连接的服务器信息,示例如下:
Hostname: SSH服务器的地址
Port: 22
User Name: 登录用户名
Password/Passphrase: 登录密码
![[转 ] 使用 Jenkins 执行远程脚本 - 图2](/uploads/projects/duoli@os/d6b26656d654bf9a8eaf613fbf1d202a.jpeg)
注意, 这里的 serverAliveInterval 和 timeout 一定要设置成0, 否则可能在执行脚本的时候会出现
[SSH] Exception:session is down这个错误, 这个错误折腾了半天, 在发现是这两个值之前有异常
也可能有其他方案.
配置构建
![[转 ] 使用 Jenkins 执行远程脚本 - 图3](/uploads/projects/duoli@os/539da78c5492ce0112459d365d9985bd.jpeg)
这里需要选择执行的主机还有需要执行的命令即可
执行构建
脚本执行过程以及结果
Started by user adminRunning as SYSTEMBuilding in workspace /var/lib/jenkins/workspace/Hw-ReactWeb[SSH] script:sh /home/xxx/scripts/db-a/w.xxx.sh[SSH] executing...Already up-to-date.yarn install v1.22.4[1/4] Resolving packages...success Already up-to-date.Done in 1.29s.yarn run v1.22.4...File sizes after gzip:895.16 KB build/static/js/2.b71cbd8a.chunk.js243.26 KB build/static/js/main.ba3ea8bd.chunk.js40.07 KB build/static/css/main.d558d632.chunk.css38.66 KB build/static/css/2.172c5724.chunk.css777 B build/static/js/runtime-main.ae6120a2.jsThe project was built assuming it is hosted at /....[SSH] completed[SSH] exit-status: 0Finished: SUCCESS
