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"
    

    微信赞赏

    支付宝赞赏

  • 相关阅读:
    js 或者 element-ui 将年月日时分秒转换为时间戳
    element-ui 设置table 表头多列显示
    element-ui table 给表头添加icon,以及hover上去的提示文字
    js 获取本周开始结束时间,本月开始结束时间等....
    element-ui Table 翻页后记忆之前勾选
    element-ui 上传图片或视频时,先回显在上传
    element-ui Upload 上传获取当前选择的视频时长
    element-ui 自定义 Upload 上传进度条
    Sqoop(二)常用命令及常数解析
    使用IDEA构建Spring Boot项目简单实例
  • 原文地址:https://www.cnblogs.com/superlinux/p/15385198.html
Copyright © 2011-2022 走看看