自动部署shell脚本

作者: wxfeng 分类: linux,web前端 发布时间: 2023-09-12 10:05    阅读 44 次
#!/bin/bash
 
DEPLOY_DIR=${package_download_path%.*}
DEPLOY_DIR_TMP=${DEPLOY_DIR}'_tmp'
 
echo "部署文件夹:${DEPLOY_DIR}"
echo "临时文件夹: ${DEPLOY_DIR_TMP}"
 
if [ -d ${DEPLOY_DIR_TMP} ]; then
    echo "删除临时文件夹 ${DEPLOY_DIR_TMP}"
    rm -rf ${DEPLOY_DIR_TMP}
fi
 
echo "创建临时文件夹 ${DEPLOY_DIR_TMP}"
mkdir -p ${DEPLOY_DIR_TMP}
 
echo "解压 ${package_download_path} 到 ${DEPLOY_DIR_TMP}"
tar zxf ${package_download_path} -C ${DEPLOY_DIR_TMP}
 
 
DATA_DIR='/www.php/_data/'${DEPLOY_DIR#/www.php/}
if [ ! -d ${DATA_DIR} ]; then
	echo "创建 data 目录 ${DATA_DIR}"
	mkdir -p ${DATA_DIR}
	chmod 777 ${DATA_DIR}
fi
 
if [ -d ${DEPLOY_DIR_TMP}'/data' ]; then
	rm -rf ${DEPLOY_DIR_TMP}'/data'
fi
 
ln -sfn ${DATA_DIR} ${DEPLOY_DIR_TMP}'/data'
 
if [ -d ${DEPLOY_DIR} ]; then
    echo "部署文件夹 ${DEPLOY_DIR}"
    rm -rf ${DEPLOY_DIR}
fi
 
echo "将 ${DEPLOY_DIR_TMP} 重命名为 ${DEPLOY_DIR}"
mv ${DEPLOY_DIR_TMP} ${DEPLOY_DIR}
 
 
rm -f ${package_download_path}

脚本说明:

服本说明:

  • 部署配置中设置的 下载路径  /www.php/liu12.com/www.liu12.com(变量名:package_download_path,移除 .tgz)作为项目的部署路径。
  • 将压缩包解压到 /www.php/liu12.com/www.liu12.com_tmp
  • 处理项目中的外挂目录,如 data 目录等(存放有网站产生的数据。通过软链接挂入)
  • 删除旧的  /www.php/liu12.com/www.liu12.com
  • 将  /www.php/liu12.com/www.liu12.com_tmp 改名成  /www.php/liu12.com/www.liu12.com

转自:https://www.liu12.com/article/aliyun-devops

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。