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"
    

    微信赞赏

    支付宝赞赏

  • 相关阅读:
    X-010 FriendlyARM tiny4412 uboot移植之移植网卡驱动TFTP用起来
    使用NFS启动Tiny4412开发板根文件系统
    《C专家编程》第四章——令人震惊的事实:数组和指针并不相同
    《C专家编程》第三章——分析C语言的声明
    《C专家编程》第二章——这不是Bug,而是语言特性
    《C专家编程》第一章——C:穿越时空的迷雾
    《C与指针》读后感
    《C与指针》第十五章练习
    《C与指针》第十四章练习
    《C与指针》第十三章练习
  • 原文地址:https://www.cnblogs.com/superlinux/p/15385198.html
Copyright © 2011-2022 走看看