## 部署流程前的准备工作
##### <blockquote class="danger">准备工作:两个域名、两个分支、一个git仓库、两个数据库(mysql、redis、mongo)<p>
## 部署开始
1:站点截图![](https://img.kancloud.cn/b6/fd/b6fd8a47c12853f5470941521771004c_1913x744.png)
2:目录结构![](https://img.kancloud.cn/ff/bb/ffbbf4df596165ed4369e7bf206a45e6_1916x708.png)(分支目录再往下的目录就是git仓库目录)
3:deploy.sh文件如下:
```
#!/bin/bash
start_time=$(date "+%Y-%m-%d %H:%M:%S") # 格式化时间并记录开始时间
start_timestamp=$(date -d "$start_time" +%s) # 将开始时间转换为时间戳
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~环境部署开始(开始部署时间:$start_time)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# 仓库地址
GIT_REPO_URL="https://codeup.aliyun.com/6409d268e9f200d37adc2ffd/ceshi.git"
# 所有分支类型
TEST_BRANCH="test"
MASTER_BRANCH="master"
# 获取当前分支
BRANCH=${GIT_BRANCH#*/}
# 定义环境目录路径
BASE_PRODUCTION_DIR="/www/wwwroot/ceshi"
# Git仓库目录名称
GIT_DIR="ceshi"
# 根据分支名称选择目标环境目录
if [[ $BRANCH == $TEST_BRANCH ]] || [[ $BRANCH == $MASTER_BRANCH ]]; then
TARGET_DIR="$BASE_PRODUCTION_DIR/$BRANCH/$GIT_DIR"
echo "分支:<$BRANCH>,路径为:$TARGET_DIR"
else
echo "分支<$BRANCH>不存在"
exit 0
fi
# 检查目标环境目录是否存在,不存在则克隆主分支代码
if [[ ! -d $TARGET_DIR ]]; then
mkdir -p "$TARGET_DIR"
git clone -b "$BRANCH" "$GIT_REPO_URL" "$TARGET_DIR"
else
# 存在则拉取主分支代码
cd "$TARGET_DIR"
git checkout "$BRANCH"
git pull origin "$BRANCH"
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部署
- 流程开始
- 问题总结