jenkins+maven+docker集成java发布(一)中写了在Jenkins服务器自动部署业务,那需要将java项目部署到其他服务器怎么操作

这里需要依赖插件Publish Over SSH

实现的大致原理:

jenkins+maven打包生成jar/war---->Publish Over SSH插件自动将包cp到目标服务器上---> 在目标服务器上执行脚本

插件配置

插件设置在Jenkins的系统设置中

Name:服务器名称

Hostname: 服务器ip地址

Username: root

RemoteDirectory: 这里指的是copy过来后的根目录,这里和下图中的RemoteDirector结合使用

可以简单的理解为这个插件就是`scp`的作用,后面需要填写密码,当然也可以使用密钥

Timeout: 传输超时时间

上图中RemoteDirectory的路径设置为/data/
下图中RemoteDirectory的路径设置为jar

那么最终包copy过来就存储在/data/jar目录下

下图就是在创建任务中配置

任务配置

Post Steps步骤中
Add post-build step添加 Send files or execute commands over SSH
就会出现上图所示界面

SSH Server:目标服务器,也就是第一张图中设置的服务器名称

sourcefiles:匹配需要copy的对象,这里有帮助说明,类似正则表达式

removeprefix:不需要传输的目录

remotediectory: 传输到目标服务器的目录

exec: 在目标服务器执行的脚本

这个脚本可以结合docker命令使用,从而完成整个部署
需要注意的问题
  1. RemoteDirectory 路径的问题,系统设置中的RemoteDirectory是相当于设置插件传输的根目录,任务设置中的RemoteDirectory是相当于设置copy的文件在根目录的哪个目录下,最终的目录是 RemoteDirectory+RemoteDirectory
  2. exec脚本的问题,Jenkins在任务结束时会关闭由jenkins创建的所有进程,如果你在shell中启动了一个tomcat,在任务结束后tomcat会关闭;想要jenkins不关闭创建的进程,在shell脚本开头export BUILD_ID=dontkillme;

最新文章

  1. (分享) git详解
  2. valueOf()方法
  3. Ajax请求利用jsonp实现跨域
  4. Scala 深入浅出实战经典 第66讲:Scala并发编程实战初体验
  5. java 14 -7 Date
  6. 取消mod_sofia的呼叫鉴权
  7. Widnows批处理异地备份数据
  8. System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 'XXX' 数据库不同
  9. 【windows核心编程】IO完成端口(IOCP)复制文件小例前简单说明
  10. 房间计费系统改造E-R图纸设计
  11. html_栏目下拉
  12. php基础知识(三)---常用函数--2017-04-16
  13. jjava Date格式是 May 07 17:44:06 CST 2018,怎么插入数据库中的timestamp格式中
  14. linux搭建FastDFS文件服务器
  15. Qt3D
  16. mysql_study_4
  17. Lucene实现自己的英文空格小写分词器
  18. Anaconda+MINGW+theano+keras安装
  19. markdown 语法指南
  20. Vim操作指南

热门文章

  1. Java SimpleDateFormat对象的parse方法处理12点变成00点
  2. C++类知识总结
  3. 用AutoHotkey实现Excel从表B提取匹配数据到表A
  4. PHP根据图片制作缩略图
  5. [日常]蒟蒻的高一生活 Week 4
  6. 内存池-转载自IBM
  7. 高可用web框架
  8. Entity Framework 指定架构无效 错误:1052
  9. [零基础学JAVA]Java SE面向对象部分.面向对象基础(04)
  10. 【RabbitMQ】2、RabbitMQ入门程序——Hello World