Jenkins 自动化构建部署Java Web项目(六)

先说一下这篇文章的思路:我准备了两台Linux 机器,

  • 机器1: IP  192.168.3.51  这台机器上运行着Jenkins
  • 机器2: IP  192.168.3.50  这台机器上有Tomcat

我们需要实现的功能是,在192.168.3.51 这台机器的Jenkins 点击构建之后:

  • 拉取最新的代码
  • 编译成war 包
  • 把war包推到192.168.3.50这台机器上
  • 在192.168.3.50这台机器上执行命令,重启Tomcat

经过这些步骤之后,就成功部署了。关于前两步,编译代码可以看另外一篇博客Jenkins 自动化编译项目

 

1.安装Publish Over SSH插件

因为我们需要把文件推到其他机器上,还要执行其他的命令。所以我们这里需要安装 Publish Over SSH这个插件

 

 

 

安装完成之后,还需要在系统管理-系统设置- Publish over SSH中配置,这里一定要注意Remote Directory  配置的目录,所有推到这台机器的文件,都只能保存到这个目录下面。最好不要配置 "/"。

 

在配置下面,有一个Test Configuration按钮,点击这个按钮就可以测试配置是否成功。点击之后出现Success就说明配置成功了

 

 

2.新建任务

为了方便,我们这里选择构建一个自由风格的软件项目。新建任务之后,将会自动在Jenkins 工作目录中新建一个任务名称的文件夹,这个任务的相关文件,都会存在这个目录下。

Jenkins工作目录: 登陆用户目录/.jenkins/

我的任务目录是:/root/.jenkins/workspace/AutoBind,这个目录也称为工作空间

3.配置拉取代码方式

因为我这里是配置了公钥到码云的账号,所以我这里拉取代码是不需要密码的。这个密码视情况而定,没有密码可以不输入。不要照着我这个地址输入,我这个就是普通的java Web项目,自己创建一个就好了。

 

4. 配置编译

    

 选择配置好的Maven版本,配置Maven 命令。这样就可以自动编译了。

 

5.配置推送文件到远程机器,并执行命令

增加操作后构建步骤,选择Send build artifacts over SSH

 

Source files:源文件,这里要配置的是要推到目标机器上的文件。经过我的测试,这里只能是工作空间的下的目录,写相对路径也是没有用的。

Remove prefix:要过滤的路径,比如war 的目录是/target/AutoBind.war。如果不配置这个,那么推到目标机器上之后,它会在你配置的目录下。自动创建target 目录

Remote directory:推到目标机器上的路径。这个路径是在 Remote Directory 路径下的

Exec command:在目标机器上执行的命令。可以执行Shell脚本,这里可以做很多事情。我只是写了几行最简单的命令

 

 

 

6.验证构建结果

查看日志,可以看到成功推了一个文件。并且构建成功,现在可以打开Tomcat查看效果了。在Tomcat的webapps 下也可以看到推过去的war包

问题1:

如果这里显示Transferred 0 file(s),就说明Source files这个路径配置的有问题

问题2:

显示Transferred 1 file(s),但是找不到文件。这个时候可以在目标机器上 cd Remote Directory目录,然后在cd Source files目录就可以找到了

posted @ 2019-03-11 22:13  小朋友有很多问号  阅读(68)  评论(0编辑  收藏  举报