doc: update docs/ansible.md & update CONTRIBUTING.md (#535)
* doc: update ansible.md * doc: update ansible.md 代码格式 * 增加十分钟同步的域名、增加自动部署脚本 * 优化部署文档:定时任务同步pages的内容 * 优化 git-down-pages.sh 脚本 到配置 * update README.md --------- Co-authored-by: 魏栋梁 <dongliang.wei@fujfu.com>
This commit is contained in:
120
CONTRIBUTING.md
120
CONTRIBUTING.md
@ -98,6 +98,125 @@ $ npm run start # 监听 md 文件编译输出 HTML
|
||||
$ git clone https://github.com/jaywcjlove/reference.git -b gh-pages
|
||||
```
|
||||
|
||||
**进击方式:**
|
||||
|
||||
在Linux服务执行 ` git-down-pages.sh` [会根据线上pages的commit 和 本地 commit 比较。如果不一致才会同步更新,否则跳过]
|
||||
|
||||
注意:请把脚本放在/opt/cron/ 目录下
|
||||
|
||||
```bash
|
||||
vim git-down-pages.sh
|
||||
|
||||
#!/bin/bash
|
||||
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
||||
export PATH
|
||||
|
||||
#author: 南宫乘风
|
||||
|
||||
DATA_DIR="/data"
|
||||
REPO_URL="https://gitee.com/jaywcjlove/reference.git"
|
||||
BRANCH="gh-pages"
|
||||
MAX_BACKUPS=3
|
||||
|
||||
# 函数:备份旧版本
|
||||
backup_old_version() {
|
||||
echo "备份旧版本..."
|
||||
mv ../reference ../reference_backup_$(date +%Y%m%d%H%M%S)
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "备份完成。"
|
||||
remove_old_backups
|
||||
else
|
||||
echo "备份时出现错误。"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 函数:删除多余备份,保留最近的三个
|
||||
remove_old_backups() {
|
||||
echo "删除多余备份,保留最近的三个..."
|
||||
ls -1d ../reference_backup_* | head -n -${MAX_BACKUPS} | xargs -r rm -r
|
||||
}
|
||||
|
||||
# 函数:拉取最新代码
|
||||
clone_latest_code() {
|
||||
echo "拉取最新代码..."
|
||||
git clone $REPO_URL -b $BRANCH
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "拉取最新代码完成。"
|
||||
else
|
||||
echo "拉取最新代码时出现错误。"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查是否存在 DATA_DIR 目录,不存在则创建
|
||||
if [ ! -d "$DATA_DIR" ]; then
|
||||
echo "目录 $DATA_DIR 不存在,创建中..."
|
||||
mkdir -p "$DATA_DIR"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "目录创建成功。"
|
||||
else
|
||||
echo "目录创建失败。"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# 进入 /data 目录
|
||||
cd $DATA_DIR
|
||||
|
||||
# 检查是否存在 reference 目录
|
||||
if [ -d "reference" ]; then
|
||||
# 进入 reference 目录
|
||||
cd reference
|
||||
|
||||
# 获取远程和本地的 commit 哈希值
|
||||
REMOTE_COMMIT=$(git ls-remote $REPO_URL $BRANCH | cut -f1)
|
||||
LOCAL_COMMIT=$(git rev-parse HEAD)
|
||||
|
||||
# 比较远程和本地的 commit
|
||||
if [ "$REMOTE_COMMIT" == "$LOCAL_COMMIT" ]; then
|
||||
echo "本地 'reference' 目录已经是最新版本,无需拉取。"
|
||||
else
|
||||
echo "本地 'reference' 目录不是最新版本,开始拉取最新代码..."
|
||||
backup_old_version
|
||||
clone_latest_code
|
||||
fi
|
||||
else
|
||||
# 如果目录不存在,直接克隆
|
||||
clone_latest_code
|
||||
fi
|
||||
|
||||
echo "----------------------------------------------------------------------------"
|
||||
endDate=`date +"%Y-%m-%d %H:%M:%S"`
|
||||
echo "★[$endDate] Successful"
|
||||
echo "----------------------------------------------------------------------------"
|
||||
|
||||
```
|
||||
|
||||
```bash
|
||||
定时任务
|
||||
注意:请把脚本放在/opt/cron/ 目录下 (时间可以根据自己需求设定)
|
||||
下面案例:每十分钟同步线上的pages的内容
|
||||
crontab -e
|
||||
*/10 * * * * /opt/cron/git-down-pages.sh >> /opt/cron/git-down.log 2>&1
|
||||
|
||||
|
||||
NGINX 配置:
|
||||
listen 80;
|
||||
listen 443 ssl http2;
|
||||
server_name xxx.xxx.top; #配置你的域名
|
||||
index index.php index.html index.htm default.php default.htm default.html;
|
||||
root /data/reference; # 文件存放的位置
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### 方法二,使用 [docker](https://hub.docker.com/r/wcjiang/reference) 快捷部署 web 版
|
||||
|
||||
```shell
|
||||
@ -161,6 +280,7 @@ REF_LABEL=网站首页
|
||||
- [quickreference.pages.dev](https://quickreference.pages.dev/)
|
||||
- [code05.com](https://reference.code05.com/)
|
||||
- [xhfun.cn](https://ref.xhfun.cn/)
|
||||
- [ownit.top](https://memo.ownit.top/)
|
||||
|
||||
感谢🙏
|
||||
|
||||
|
Reference in New Issue
Block a user