zoukankan      html  css  js  c++  java
  • 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
    1
    2
    通过下面的命令,表示可以通过机器192.168.AA.AAA免密登录到机器192.168.BB.BBB

    ssh-copy-id 192.168.BB.BBB
    1

    验证方式是:在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
    1
    2
    3
    验证方式是:在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:测试连接
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    对构建的项目中的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
    1
    2
    点击构建的项目—>配置–>构建后操作,选择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========================="
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    参数说明:

    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:增加一个配置
    ---------------------
    版权声明:本文为CSDN博主「toto1297488504」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/tototuzuoquan/article/details/78568655

  • 相关阅读:
    常见寻找OEP脱壳的方法
    Windows内核原理系列01
    HDU 1025 Constructing Roads In JGShining's Kingdom
    HDU 1024 Max Sum Plus Plus
    HDU 1003 Max Sum
    HDU 1019 Least Common Multiple
    HDU 1018 Big Number
    HDU 1014 Uniform Generator
    HDU 1012 u Calculate e
    HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/ExMan/p/11354470.html
Copyright © 2011-2022 走看看