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"
    

    微信赞赏

    支付宝赞赏

  • 相关阅读:
    [三]JavaIO之IO体系类整体设计思路 流的概念以及四大基础分类
    [二] JavaIO之File详解 以及FileSystem WinNTFileSystem简介
    [一]FileDescriptor文件描述符 标准输入输出错误 文件描述符
    [零] JavaIO入门简介 程序设计语言 为什么需要IO库
    装饰器模式 Decorator 结构型 设计模式 (十)
    适配器模式 adapter 结构型 设计模式(九)
    layui 鼠标悬停单元格显示全部
    mysql 日期总结
    区域块路由与全局路由兼容,双重路由
    JS-SDK相关参考
  • 原文地址:https://www.cnblogs.com/superlinux/p/15385198.html
Copyright © 2011-2022 走看看