TOC
前言
之前在 Jenkins 上也有一些使用经验了,但是都是使用团队配置好的 Jenkins,自己只需要管自己的项目以及执行构建即可,这一次自己尝试了一下配置 Jenkins 的远程部署 Linux 服务器以及应用。
执行过程如下:
- Jenkins拉取代码
- 本地构建打包
- 连接远程服务器
- 上传打包应用
- 到相应目录解压应用内容以及重启正在运行的应用。
插件
远程部署过程中在本地操作远程服务器使用的插件是publish over ssh
在系统管理
中找到插件管理
点击插件管理
搜索publish over ssh
笔者这里没有搜索出来是因为已经安装过了
安装完成后回到刚才的系统管理
的页面,往下拉会看到一个系统设置
,点击进到系统设置
页面。
往下拉,会看到SSH Servers
相关的配置
笔者是使用密码的方式进行ssh服务器,在Passphrase
填写对应的密码即可,还有其他四项内容如下:
Name
是给sshserver自定义一个名称Hostname
是ssh服务器的地址Username
是ssh服务器的用户名Remote Directory
是需要上传文件到服务器的远程目录
填写基本信息完成后可以点击Test Configuration
测试下是否连接正常,信息都正确后点击应用Apply
,一个ssh服务器就配置好了,剩下的就是要在项目配置的时候使用已填的ssh服务器进行操作。
项目的代码拉取,命名,构建这里都略过,直接看项目远程部署部分的配置。
首先,在构建完成后的行动中选择Send build artifacts over SSH
填写相对应的远程操作
上述图中展示的是笔者将target
目录下的所有war包都打包到远程服务器tomcat
下的webapps/ROOT
目录下,然后解压war包
,睡10S
,执行重启脚本
这里详细讲解下:
Source files
需要打包的文件Remove prefix
需要去除的前缀路径Remote directory
文件上传的远程服务器目录,这里的目录是之前远程服务器设置的Remote directory
目录的相对目录
也就是说笔者这里设置的目录实际上等于之前服务器设置的目录/usr/local/apache-tomcat-8.5.37
加上这里设置的目录/webapps/ROOT
,连起来就是/usr/local/apache-tomcat-8.5.37/webapps/ROOT
Exec command
在远程服务器上执行的命令
远程部署 linux 服务器的相关配置到这里就完成了,开始愉快的自动化远程部署之旅吧!
微信公众号
扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。