Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行

测试服务器

准备一台测试服务器(Linux)

在这个测试服务器上只需要安装JDK即可

接下来,我们需要做的便是将之前(Jenkins(2))时运行得到的jar包,发布到这个服务器上,并自动运行

安装插件(publish over ssh)

之前我们装了Maven的插件

我们现在需要安装“publish over ssh”这个插件

按之前的操作,将这个插件安装上,如下:

Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第1张图片
安装成功
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第2张图片

重新配置

退到Dashboard,点击项目名称“first”
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第3张图片
过后,会出现下面的界面,选择配置
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第4张图片
点击完“配置”选项后,出现下面的内容,直接点击“Post Steps”,进入下面的页面
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第5张图片

Post Steps

在这个选项里面,选择“Send files or execute commands Over SSH”,这就是我们之前装的那个插件,点击完之后,会出现下面需要我们配置的内容
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第6张图片

现在,这个服务器地址,还不能去选择服务器地址,所以我们首先需要去配置一下

Configure System(添加一台目标服务器)

选择全局配置,
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第7张图片
在这个里面,找到 “publish over ssh”
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第8张图片
再下面,点击“新增”
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第9张图片
出现下面的界面
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第10张图片
输入服务器的名称(xxx),ip(如xx.xx.xx.xx),账号(root),Remote Directory(可选)

往下翻,选择“User xxx”
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第11张图片
在“Passphrase / Password”中输入之前账号的密码即可,这个选项卡里面其他的便不需要去管了

上面的填完后,往下翻,可以去选择端口等

Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第12张图片
再往下翻,在这里可以去设置跳板机等
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第13张图片
全部设置完后,有一个Test Configuration,点击尝试一下能不能连接上
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第14张图片
运行成功
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第15张图片

如果失败的话(将密码输入错误),会出现下面的内容
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第16张图片

修改配置

回到之前设置Post Steps的位置,现在便可以去选择server了,如下
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第17张图片

向下翻,配置source 文件:将当前目录下所有的jar文件都给丢到上面配置的这台服务器上

Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第18张图片
下面的两个“Remove xx” 先暂时不管

“Remote directory”:将之前要发的文件发送到哪一个目录,如果这个目录没有的话,其会自动创建一个目录
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第19张图片

Exec command:传完之后,在目标服务器上,想要执行上面命令
在这里,先简单的输入一行命令“echo 1”
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第20张图片
过后,保存

执行

重新执行一下
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第21张图片
查看控制台输出
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第22张图片
通过查看日志,发现Transferred 0 file(s)

说明一个文件都没有传输过去

但是查看日志,这个jar包是已经打包成功了

再去查看日志,发现是之前设置的“Source files”出错了

修改配置为:匹配所有的目录,以demo开头的所有的jar包
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第23张图片
重新运行
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第24张图片

查看日志
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第25张图片

文件是否传输过去

通过日志可以发现,文件是传输过来了的,进入测试服务器便可以查看到这个文件,运行也是没有问题的

查看文件
在这里插入图片描述

查看目录
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第26张图片

其他问题修改

之前传过去的目录有问题,所以我们还是需要去修改一下之前的配置,

  1. 修改root/root/xxx,变为root/xxx
  2. 修改掉前面的/demo-1/target,变为root/xxoo/xx.jar

Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第27张图片
将之前报错的目录内容都给删除掉

保存,然后重新运行,发现问题解决了

jar包位置

Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第28张图片

自动运行

这个配置,还是在之前的配置上去进行修改

Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第29张图片
将其保存上,将测试服务器上对应的文件删除掉,

然后直接运行一下
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第30张图片
查看控制台输出
Jenkins(3)Jenkins自动化发布到 测试服务器 并 自动运行_第31张图片
现在这个jar包已经是启动了

你可能感兴趣的:(#,Jenkins,jenkins,自动化,服务器)