多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
``` #!/bin/bash # 定义环境变量 php_container_name="lnmp_php74" git_repo="https://codeup.aliyun.com/6409d268e9f200d37adc2ffd/al7.git" production_branch="master" develop_branch="dev" production_dir="/wwwroot/al7/production/al7" develop_dir="/wwwroot/al7/dev/al7" # 切换到测试环境 start_time=$(date "+%Y-%m-%d %H:%M:%S") # 格式化时间并记录开始时间 start_timestamp=$(date -d "$start_time" +%s) # 将开始时间转换为时间戳 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~部署测试环境(开始部署时间:$start_time)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" # 检查目录是否存在 if [ -d "$develop_dir" ]; then echo "Git测试环境目录已存在,正在切换到测试环境目录<$develop_dir>" cd "$develop_dir" || exit 1 echo "测试环境目录<$develop_dir>已切换,正在拉取最新代码到服务器测试环境" git -C "$develop_dir" pull || exit 1 echo "最新代码拉取到服务器测试环境已完成" else echo "Git测试环境目录不存在,正在克隆代码到测试环境目录" mkdir -p "$develop_dir" && chmod -R 777 "$develop_dir" || exit 1 git clone -b "$develop_branch" "$git_repo" "$develop_dir" || exit 1 echo "克隆代码到服务器测试环境已完成" fi # ... (其他部署步骤) end_time=$(date "+%Y-%m-%d %H:%M:%S") # 记录结束时间 end_timestamp=$(date -d "$end_time" +%s) # 将结束时间转换为时间戳 # 计算耗时 duration=$((end_timestamp - start_timestamp)) # 格式化耗时 hours=$((duration / 3600)) minutes=$((duration % 3600 / 60)) seconds=$((duration % 60)) echo "部署测试环境已完成,耗时:${hours}小时 ${minutes}分钟 ${seconds}秒" echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~部署测试环境(部署完成时间:$end_time)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ```