2.自动发布项目思路
[root@localhost ~]# mkdir /data/sh -p [root@localhost ~]# cd /data/sh/ [root@localhost sh]# touch auto_web_update.sh [root@localhost sh]# vim auto_web_update.sh #!/bin/bash DATE=$(date +%Y-%m-%d-%H-%s) web_server="192.168.1.100 192.168.1.200" Sdir=/opt Ddir=/code Hdir=/usr/local/nginx/html #1.进入gitlab项目目录,将内容进行打包 get_code(){ #cd /root/.jenkins/workspace/freestyle && \ #${WORKSPACE_TMP} 变量是 工作区附近的临时目录,该目录不可浏览并且不会干扰SCM检出。最初可能不存在,所以请确保根据需要创建目录(例如,mkdir -p在Linux上)。当常规工作空间是驱动器根目录时,未定义。 tar czf $Sdir/web-${DATE}.tar.gz ./* cd ${WORKSPACE_TMP} && \ } #2.将内容通过scp拷贝至web集群组 (提前做好免密钥) scp_web_server(){ for i in $web_server do scp -r /$Sdir/web-${DATE}.tar.gz root@$i:/root/ ssh root@$i "mkdir -p $Dsir/web-${DATE} && tar xf $Sdir/web-${DATE}.tar.gz -C $Dir/web-${DATE} rm -rf $Hdir/web && ln -s $Dir/web-${DATE} $Hdir/web" done } deploy(){ get_code scp_web_server } deploy [root@localhost sh]# chmod +x /data/sh/auto_web_update.sh [root@localhost sh]# ll total 4 -rwxr-xr-x. 1 root root 647 Dec 11 10:16 auto_web_update.sh
立即构建-自动触发脚本
4.Jenkins实现版本发布
[root@localhost sh]# vim auto_web_update.sh #!/bin/bash DATE=$(date +%Y-%m-%d-%H-%s) web_server="192.168.1.100 192.168.1.200" Sdir=/opt Ddir=/code Hdir=/usr/local/nginx/html #1.进入gitlab项目目录,将内容进行打包 get_code(){ #cd /root/.jenkins/workspace/freestyle && \ #${WORKSPACE_TMP} 变量是 工作区附近的临时目录,该目录不可浏览并且不会干扰SCM检出。最初可能不存在,所以请确保根据需要创建目录(例如,mkdir -p在Linux上)。当常规工作空间是驱动器根目录时,未定义。 tar czf $Sdir/web-${DATE}.tar.gz ./* cd ${WORKSPACE_TMP} && \ } #2.将内容通过scp拷贝至web集群组 (提前做好免密钥) scp_web_server(){ for i in $web_server do scp -r /$Sdir/web-${DATE}.tar.gz root@$i:/root/ ssh root@$i "mkdir -p $Dsir/web-${DATE} && tar xf $Sdir/web-${DATE}.tar.gz -C $Dir/web-${DATE} rm -rf $Hdir/web && ln -s $Dir/web-${DATE} $Hdir/web" done } deploy(){ get_code scp_web_server } deploy
原文:https://www.cnblogs.com/fengyuanfei/p/14494378.html