在之前的篇幅中有介绍,利用jenkins结合shell脚本完成远程部署的功能,点击Jenkins结合shell+expect脚本完成线上环境自动构建部署即可查看。
上述方式需要引入expect脚本,安装学习成本还是比较高,哪有没有更简捷的方式远程部署我们的应用呢,其时利用Jenkins的一个插件“Publish Over SSH”即可完成目标,下面简单介绍下插件的使用。
通过插件名称跟SSH有关,要求远程机开必须启SSH服务,允许Jenkins所在机器通过SSH服务登录到远程机执行脚本;可以设置SSH使用用户名/密码或通过key登录,SSH配置请查专门的资料这里不做说明。
插件安装
打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“Publish over SSH”进行搜索,如果搜索不到可以在“已安装”里确认是否已经安装过。在搜索结果中选中“Publish over SSH”,点击页面的“直接安装”按钮,系统会自动安装,此插件安装后不需要重启Jenkins。如果插件安装成功在“系统管理>系统设置”会出现相关配置项。具体配置网络中有详细介绍,这里不做过多介绍。
引入插件
新建一个JOB,在JOB的配置中“构建后”步骤中选择“Send build artifacts over SSH”选项,选择在系统配置中设置要发布的SSH Server。
重点关注几个参数:
Source files复制到远程服务器上的文件,运行表达式,如上图中的“target/myApp.war”。
Remove prefix文件复制时要过滤的目录,如上图中的target目录。
Remote directory文件得到到远程机上的目录,此目录是相对于“SSH Server”中的“Remote directory”的,如果不存在将会自动创建。
Exec command在这里可以填写在远程机器上执行的脚本,如:应用部署脚本。
特殊说明一下,远程服务器的shell脚本主要工作是备份原有项目,将最新部署软件包更新到对应位置并启动。
历史Jenkins文章列表: