利用webhook自动部署博客
coderzhouyu
利用webhook自动部署博客
1. 生成 ssh key
ssh-keygen -t ed25519 -C "coderzhouyu"
2. 将公钥添加到gitee
3. 在服务器上安装git
apt-get install git
4. 在服务器上创建一个目录用来存放博客
mkdir \www\blog
5. 在服务器上克隆博客仓库
git clone git@xxxxxxxx.git
6. 在服务器上安装nodejs 和 npm
# 安装nvm
bash -c "$(curl -fsSL https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh)"
# 安装nodejs
nvm install 18
7. 在服务器上安装yarn
npm install -g yarn --registry=https://registry.npm.taobao.org
``
## 8.配置webhook
```bash
# !/bin/bash
# 输出当前时间
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------开始-------"
cd /www/blog
rm -rf /www/blog/.vuepress/dist/*
git reset --hard origin/master
git pull
echo "-------安装依赖-------"
yarn install
echo "-------开始构建-------"
yarn build
echo "-------构建完成-------"
echo "-------开始部署-------"
rm -rf /www/wwwroot/www.zhouxiaoyu.vip/*
# 移动操作
# 源目录
src_dir="/www/blog/.vuepress/dist/"
# 目标目录
dest_dir="/www/wwwroot/www.zhouxiaoyu.vip/"
# 移动源目录下所有文件到目标目录
cp -rf ${src_dir}* ${dest_dir}
echo "-------设置权限-------"
chown -R www:www /www/wwwroot/www.zhouxiaoyu.vip
chmod -R 755 /www/wwwroot/www.zhouxiaoyu.vip
echo "-------完成-------"