## 部署流程前的準備工作
##### <blockquote class="danger">準備工作:兩個域名、兩個分支、一個git倉庫、兩個數據庫(mysql、redis、mongo)<p>
## 部署開始
1:站點截圖
2:目錄結構(分支目錄再往下的目錄就是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部署
- 流程開始
- 問題總結