zoukankan      html  css  js  c++  java
  • Jenkins通过脚本进行自动发布

    编写以下脚本:

    -------------------------------------------------------------------------------------
    #!/bin/sh
    name=web-$(date +%F)-$(($RANDOM+10000))
    host=$1
    job_name=$2
    cd /var/lib/jenkins/workspace/${job_name} && tar zcf /opt/${name}.tar.gz ./*
    ssh ${host} "cd /usr/share/nginx && mkdir ${name}"
    scp -r /opt/${name}.tar.gz ${host}:/usr/share/nginx/${name}
    ssh ${host} "cd /usr/share/nginx/${name} && tar xf ${name}.tar.gz && rm -f ${name}.tar.gz"
    ssh ${host} "cd /usr/share/nginx && rm -rf html && ln -s /usr/share/nginx/${name} /usr/share/nginx/html"
    
    ssh ${host} "nginx -s reload"
    -------------------------------------------------------------------------------------
    使用脚本方法:
    sh -x jenkins.sh 10.0.0.66 my-freestyle-job
    
    将 /var/lib/jenkins/workspace/my-freestyle-job 目录内容打包 传送到需要发布的服务nginx器中.部署完成后 重启服务器.
    
    发布结果:
    [root@node2 nginx]# ll
    total 8
    lrwxrwxrwx 1 root root   37 Dec 29 22:29 html -> /usr/share/nginx/web-2019-12-29-42021
    drwxr-xr-x 2 root root  143 Dec 29 21:43 modules
    -rw-r--r-- 1 root root 1731 Dec 29 22:29 web-2019-12-29-42021
    -rw-r--r-- 1 root root 1731 Dec 29 22:19 web-2019-12-29-41061
    
    #这样做的好处就是每次网站都会被备份,每次都会指向web根目录. 发布过程影响较小
    #使用这种方法回退也非常简单,如: 我们发现 web-2019-12-29-42021 该版本有问题,回退方式就是:
    rm -f  /usr/share/nginx/web-2019-12-29-42021
    ln -s /usr/share/nginx/web-2019-12-29-41061 /usr/share/nginx/html
    
    #!/bin/sh
    name=web-$(date +%F)-$(($RANDOM+10000))
    host=$1
    job_name=$2
    cd /var/lib/jenkins/workspace/${job_name} && tar zcf /opt/${name}.tar.gz ./*
    ssh ${host} "cd /usr/share/nginx && mkdir ${name}"
    scp -r /opt/${name}.tar.gz ${host}:/usr/share/nginx/${name}
    ssh ${host} "cd /usr/share/nginx/${name} && tar xf ${name}.tar.gz && rm -f ${name}.tar.gz"
    ssh ${host} "cd /usr/share/nginx && rm -rf html && ln -s /usr/share/nginx/${name} /usr/share/nginx/html"
    ssh ${host} "nginx -s reload"
    

    微信赞赏

    支付宝赞赏

  • 相关阅读:
    Nginx 服务器安装及配置文件详解
    Linux 之 压缩解压缩
    RPM方式安装MySQL5.6
    Linux 之 搜索
    zabbix客户端安装
    JAVA输出指定目录下的子目录和子文件
    LoadRunner 11 安装破解
    SVN合并操作实践
    (转)SVN分支/合并原理及最佳实践
    MYSQL 免安装版(windows 7/64)
  • 原文地址:https://www.cnblogs.com/superlinux/p/15385198.html
Copyright © 2011-2022 走看看