博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jenkins系列-Jenkins通过Publish over SSH插件实现远程部署
阅读量:5294 次
发布时间:2019-06-14

本文共 2464 字,大约阅读时间需要 8 分钟。

                                                                                  

安装Publish over SSH插件

插件使用官网:

主界面——>系统管理——>管理插件——>可选插件——>右上角过滤框中输入“Publish over SSH”——>勾选安装

 

 

插件配置

主界面——>系统管理——>系统设置——>Publish over SSH

 

参数说明

  • Passphrase: 密码(目标机器的密码)
  • Path to key:key文件(私钥)的路径
  • Key:将私钥复制到这个框中
  • Disable exec:禁止运行命令

私有配置

  • SSH Server Name: 标识的名字(随便你取什么)
  • Hostname: 需要连接ssh的主机名或ip地址,此处填写应用服务器IP(建议ip)
  • Username: 用户名
  • Remote Directory: 远程目录(要发布的目录,比如/usr/local/tomcat/webapps/)
  • Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)

私有配置的高级

  • Port:端口(默认22)
  • Timeout (ms):超时时间(毫秒)默认即可
  • Disable exec:禁止运行命令

配置完成后,可以 通过 “Test Configuration” 测试是否配置正确。

构建配置

点击构建的项目—>配置–>构建后操作,选择Send build artifacts over SSH,进行如下配置(注意:下面的Exec command是远程机器上执行的脚本):

 

脚本内容如下:

#!/bin/bashecho "==================start deploy project========================="ps -aux | grep /usr/local/tomcat/ | grep -v grep > tomcat_info.txtsed 's/ / /g' tomcat_info.txt > tomcat_info1.txtsed 's/ / /g' tomcat_info1.txt > tomcat_info.txtsed 's/ / /g' tomcat_info.txt > tomcat_info1.txt cat tomcat_info1.txt | cut -d' ' -f 2 > tomcat_info.txtfor line in `cat tomcat_info.txt`dokill -9 $linedonecd /usr/local/tomcat/webappsrm -rf youxuan_api*mv /usr/local/jenkinsTempFolder/youxuan_api /usr/local/tomcat/webapps/etc/init.d/tomcat startsyncecho 3 > /proc/sys/vm/drop_cachesecho "==================deploy project success========================="

参数说明

  • SSH Server Name:选个一个你在系统设置里配置的配置的名字
  • Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)
  • Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)
  • Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写。默认会继承系统配置)
  • Exec command:把你要执行的命令写在里面 (新版本的要求Transfer Set Source files和Exec command都要填写,可以不了他。老版本的允许只填写一个)

高级:

  • Exclude files:排除的文件(在你传输目录的时候很有用,使用通配符,例如:**/*.log,**/*.tmp,.git/)
  • Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你这儿更改了,上面的内容也需要更改)
  • No default excludes:禁止默认的排除规则(具体的自己看帮助)
  • Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。(个人理解)
  • Flatten files:只上传文件,不创建目录(除了远程目录)
  • Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remote directory中配置日期格式),具体格式参考下表:
  • Remote directory Directories created
  • 'qa-approved/'yyyyMMddHHmmss qa-approved/20101107154555
  • 'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}' builds/2010/11/07/build-456 (if the build was number 456)
  • yyyy_MM/'build'-EEE-d-HHmmss 2010_11/build-Sun-7-154555
  • yyyy-MM-dd_HH-mm-ss 2010-11-07_15-45-55
  • Exec timeout (ms):运行脚步的超时时间(毫秒)
  • Exec in pty:模拟一个终端执行脚步
  • Add Transfer Set:增加一个配置

转载于:https://www.cnblogs.com/zhuochong/p/10082610.html

你可能感兴趣的文章
内存数据保存到文件
查看>>
hive简介
查看>>
php使用位与运算符【&】位或运算符【|】实现权限管理
查看>>
(转载)Qt:习惯性Qt创建工程的步骤
查看>>
cron
查看>>
IIS上传大文件
查看>>
Neral的前言
查看>>
Centos7 安装高版本php
查看>>
RESTful API 设计指南
查看>>
python-高级编程-05-异步IO
查看>>
MySQL连接服务端的几种方式
查看>>
Floyd
查看>>
Uboot之tftp流程
查看>>
tensorflow的数据读取机制
查看>>
使用solid works 助力NBA | 操作案例
查看>>
2019年春节第一天上班
查看>>
task_statm反映虚拟内存,物理内存
查看>>
更改Visual Studio 2010的主题设置
查看>>
ecslipe cdt lib link
查看>>
Linux下的截图方法
查看>>