在 Jenkins 中进行构建时,可能需要首先 SSH 登录到一个远程服务器以执行必要的脚本,然后再执行构建。这时,需要安装 SSH Plugin,并进行如下配置。
安装 ssh 插件
在Jenkins界面,系统管理->管理插件->安装SSH Plugin
因为已经是安装过了, 所以在已安装界面
说明,SSH Plugin的目的就是支持SSH到远程服务器,然后执行Shell命令。
配置 ssh 远程主机
在Jenkins界面,系统管理->Configure(配置)->SSH remote hosts
配置要SSH远程连接的服务器信息,示例如下:
Hostname: SSH服务器的地址
Port: 22
User Name: 登录用户名
Password/Passphrase: 登录密码
注意, 这里的 serverAliveInterval 和 timeout 一定要设置成0, 否则可能在执行脚本的时候会出现
[SSH] Exception:session is down
这个错误, 这个错误折腾了半天, 在发现是这两个值之前有异常
也可能有其他方案.
配置构建
这里需要选择执行的主机还有需要执行的命令即可
执行构建
脚本执行过程以及结果
Started by user admin
Running as SYSTEM
Building 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.js
243.26 KB build/static/js/main.ba3ea8bd.chunk.js
40.07 KB build/static/css/main.d558d632.chunk.css
38.66 KB build/static/css/2.172c5724.chunk.css
777 B build/static/js/runtime-main.ae6120a2.js
The project was built assuming it is hosted at /.
...
[SSH] completed
[SSH] exit-status: 0
Finished: SUCCESS