jekins创建ssh_jenkins中通过Publish Over SSH插件将项目部署到远程机器上的讲解说明...

Publish Over SSH插件使用

在使用Publish Over SSH之前,需要制作SSH私钥。机器间做免密登录配置。假设机器A,ip为192.168.AA.AAA,机器B: 192.168.BB.BBB,机器A能够免密登录机器B,机器B能够免密登录机器A,制作方式是:

进入A机器,执行:

cd ~

ssh-keygen -t rsa

通过下面的命令,表示可以通过机器192.168.AA.AAA免密登录到机器192.168.BB.BBB

ssh-copy-id 192.168.BB.BBB

验证方式是:在A机器上执行ssh 192.168.BB.BBB,然后执行ifconfig检查当前的ip,若发现机器的ip已经变成了192.168.BB.BBB说明免密登录设置成功。

进入B机器,执行:

cd ~

ssh-keygen -t rsa

ssh-copy-id 192.168.AA.AAA

验证方式是:在B机器上执行ssh 192.168.AA.AAA,然后执行ifconfig检查当前的ip,若发现机器的ip已经变成了192.168.BB.BBB说明免密登录设置成功。

在系统配置中配置Publish Over SSH

进入Jenkins—>系统管理—>系统设置,配置Publish over SSH

参数说明:

Passphrase:密码(key的密码,如果你设置了)

Path to key:key文件(私钥)的路径

Key:将私钥复制到这个框中

Disable exec:禁止运行命令

私有配置:

SSH Server Name:标识的名字(随便你取什么)

Hostname:需要连接ssh的主机名或ip地址(建议ip)

Username:用户名

Remote Directory:远程目录

Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)

私有配置的高级:

Port:端口(默认22)

Timeout (ms):超时时间(毫秒)默认即可

Disable exec:禁止运行命令

Test Configuration:测试连接

对构建的项目中的SSH进行配置:

在执行前要配合Build–>Post Steps中的Execute shell配置,执行scp命令,将要拷贝的项目先远程拷贝到远程机器上。在Execute shell中的内容如下:

scp -r /root/.jenkins/workspace/youxuan_api_pre/qt360-web/target/youxuan_api root@192.168.BB.BBB:/usr/local/jenkinsTempFolder/

export BUILD_ID=DONTKILLME

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

脚本内容如下:

#!/bin/bash

echo "==================start deploy project========================="

ps -aux | grep /usr/local/tomcat/ | grep -v grep > tomcat_info.txt

sed 's/ / /g' tomcat_info.txt > tomcat_info1.txt

sed 's/ / /g' tomcat_info1.txt > tomcat_info.txt

sed 's/ / /g' tomcat_info.txt > tomcat_info1.txt

cat tomcat_info1.txt | cut -d' ' -f 2 > tomcat_info.txt

for line in `cat tomcat_info.txt`

do

kill -9 $line

done

cd /usr/local/tomcat/webapps

rm -rf youxuan_api*

mv /usr/local/jenkinsTempFolder/youxuan_api /usr/local/tomcat/webapps

/etc/init.d/tomcat start

sync

echo 3 > /proc/sys/vm/drop_caches

echo "==================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:增加一个配置

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

本文标题: jenkins中通过Publish Over SSH插件将项目部署到远程机器上的讲解说明

本文地址: http://www.cppcns.com/jiqiao/fuwuqi/252273.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jenkins是一个流行的自动化构建工具,可以通过Publish Over SSH插件方便地部署代码到远程服务器。通过设置插件,我们可以连接到远程服务器,并将构建后的文件和脚本发送到该服务器上。在Windows环境下,在Jenkins设置Publish Over SSH插件时需要先安装PuTTY。 在Jenkins配置Publish Over SSH插件的过程如下: 1. 首先需要在Jenkins服务器和目标服务器之间建立SSH连接,确保Jenkins服务器可以通过SSH连接到目标服务器。 2. 在Jenkins安装Publish Over SSH插件。 3. 在Jenkins管理员界面的Manage Jenkins - Configure System - Publish over SSH点击新增远程服务器。 4. 在远程服务器配置页面需要输入目标服务器的SSH连接信息,包括远程服务器的IP地址、SSH端口号、登录用户,以及登录远程服务器所需的RSA私钥或用户名和密码。 5. 测试SSH连接是否可用,若成功则可以保存配置。 6. 在任务的构建步骤可以选择Publish Over SSH插件,并设置构建后要部署的文件和脚本。 7. 如果需要执行远程脚本,则可以在Publish Over SSH插件设置一个“远程命令”步骤,执行远程服务器上的Shell脚本或Windows批处理脚本。 在Windows环境下,通过Publish Over SSH插件执行远程bat脚本的步骤如下: 1. 在Jenkins任务的构建步骤选择Publish Over SSH插件。 2. 在Publish Over SSH插件选择“Advanced”选项卡,并在“Exec command”输入框输入要执行的bat脚本路径和名称。 3. 点击保存并运行构建即可。Jenkins将会连接到远程服务器上,执行指定的bat脚本。 总的来说,使用JenkinsPublish Over SSH插件可以方便地在Windows环境下向远程服务器部署代码和脚本,并执行远程服务器上的bat脚本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值