一、说明

  1. 作用:通过ssh连接其他Linux机器,向远端机器发送文件和执行命令。
  2. 官方文档:Publish Over SSH Plugi


二、配置 

    

jenkins publish over ssh ssh配置 jenkinsfile ssh_运维

    1、创建主机配置

        找到SSH部分(如下)

    

jenkins publish over ssh ssh配置 jenkinsfile ssh_服务器_02

    说明:

  • Passphrase:如果密钥用密码加密,将密码设置在此处。
  • Path to file:在Jenkins主机上的位置,使用私有SSH密钥。该路径可以是密钥的绝对路径,也可以是相对于JENKINS_HOME目录的绝对路径。
  • Key:将私钥粘贴到此框中。关键应该包括页眉和页脚线(----)以及之间的所有内容。
  • Disable exec:此选项将删除从此插件执行命令的功能。如果选中此选项,则SSH服务器的“高级”部分中的“禁用exec”选项将被忽略。

     2、添加SSH服务器

        点击“SSH服务器”旁边的“添加”按钮,填写名称,主机名,用户名和远程目录。

       

jenkins publish over ssh ssh配置 jenkinsfile ssh_tomcat_03

    高级选项

    

jenkins publish over ssh ssh配置 jenkinsfile ssh_java_04

 Use password authentication, or use a different key:三种验证方式

  • Passphrase / Password:如果配置了密钥或密钥的路径,则这是与加密密钥一起使用的密码。 如果没有配置密钥,那么这将是用于密码认证的密码。
  • Path to key:在Jenkins主机上的位置,使用私有SSH密钥。 该路径可以是密钥的绝对路径,也可以是相对于JENKINS_HOME目录的绝对路径。
  • Key:将私钥粘贴到此框中。关键应该包括页眉和页脚线(----)以及之间的所有内容。

Disable exec:此选项将删除从此插件执行命令的功能。如果选中此选项,则SSH服务器的“高级”部分中的“禁用exec”选项将被忽略。  

备注:需要将公钥添加到远程服务器,确保公共密钥(上面配置的私钥的公钥)位于您要连接到的服务器上连接的用户的授权密钥文件中。 

  验证:

    

jenkins publish over ssh ssh配置 jenkinsfile ssh_tomcat_05



三、在构建期间使用SSH

此插件包括一个构建器,可以在构建过程中使用发布者。
这意味着您可以将新创建的包发送到远程服务器并进行安装,启动和停止构建可能依赖的服务以及许多其他用例。

        

jenkins publish over ssh ssh配置 jenkinsfile ssh_运维_06

将作业配置为通过SSH发布

    

jenkins publish over ssh ssh配置 jenkinsfile ssh_tomcat_07

显示如下界面

    

jenkins publish over ssh ssh配置 jenkinsfile ssh_shell_08

具体字段含义,查看官方文档:Publish Over

命令代码如下:

#!/bin/bash  
export JAVA_HOME=/usr/java/jdk1.8.0_131
TOMCATTHREAD=`ps aux | grep '8081' | grep -v grep`  
if test -z "$TOMCATTHREAD"  
then  
   echo "TOMCAT NOT START"  
else  
    THREADLIST=(${TOMCATTHREAD// / })  
    PID=${THREADLIST[1]}  
    kill -9 $PID  
    sleep 3s  
fi  
   cd /usr/local/tomcat/apache-tomcat-8.5.15-8081/webapps  
   rm -rf projectName
   cd /usr/local/tomcat/apache-tomcat-8.5.15-8081/bin
   ./startup.sh  
   sleep 5s