```
#!/bin/bash
# 1.定义环境变量[php容器、git仓库信息、容器内生产环境目录、容器内测试环境目录]
php_container_name="lnmp_php74"
git_repo="https://codeup.aliyun.com/6409d268e9f200d37adc2ffd/test.git"
production_branch="master"
develop_branch="dev"
production_dir="/wwwroot/test/production/test"
develop_dir="/wwwroot/test/dev/test"
# 2.切换到测试环境
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
echo "测试环境目录<$develop_dir>已切换,正在拉取最新代码到服务器测试环境"
git -C "$develop_dir" pull
echo "最新代码拉取到服务器测试环境已完成"
else
echo "Git测试环境目录不存在,正在克隆代码到测试环境目录"
git clone -b "$develop_branch" "$git_repo" "$develop_dir"
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)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
```
- 序言
- 开始JK部署[单台服务器](非宝塔)
- 1.开始安装jenkins
- 2.登录且配置JK面板
- Linux系统
- Windows系统
- 3.创建自动化部署任务
- Linux Centos7.9系统
- Linux部署文件
- docker
- docker-compose.yml
- jenkins_home文件夹
- mongo文件夹
- mysql文件夹
- my.cnf
- log文件夹
- data文件夹
- nginx文件夹
- nginx.conf
- logs文件夹
- html文件夹
- conf.d文件夹
- default.conf
- www.conf
- php目录
- logs目录
- php74目录
- Dockerfile
- php.ini
- rabbitmq目录
- redis目录
- logs目录文件夹
- redis.conf
- wwwroot目录
- default文件夹
- index.html
- index.php
- test目录
- dev
- production
- shell脚本
- test.sh
- al7.sh
- 问题总结
- Linux备份
- 宝塔部署
- 安装脚本
- 开始部署
- 宝塔自己的docker jk容器部署
- 自己编写的yml jk部署
- 流程开始
- 问题总结