Actions:自动构建和发布Docusaurus网站
前言
静态网站更新文章要经过比较繁琐的操作,大部分操作可以使用 Gitea Actions 自动执行:作者只需要编辑文章,使用 git push 发布。
一、创建 Actions 脚本
以 Docusaurus 网站为例,在 Git 仓库根目录添加: .gitea/workflows/demo.yaml
name: beta zxzsk.com
on: [push]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: 检出代码
uses: https://gitea.com/actions/checkout@v4
- name: 删除目录 docs/未公开
run: rm -rf docs/未公开
- name: 安装依赖
run: npm install
- name: 构建项目
run: npm run build
- name: 安装 rsync 命令
run: |
apt update
apt install rsync -y
- name: 部署到远程服务器
env:
ACTION_KEY: ${{ secrets.ACTION_KEY }}
BETA_USER: ubuntu
BETA_HOST: 192.168.10.102
BETA_PATH: /opt/1panel/apps/openresty/openresty/www/sites/beta/index/
run: |
mkdir -p ~/.ssh
echo "$ACTION_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
rsync -az -e "ssh -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no" \
build/ ${{BETA_USER}}@${{BETA_HOST}}:${{BETA_PATH}}
脚本:
- 触发条件:git push 发生时
- 执行环境:docker 容器
ubuntu-latest
- 检出代码:获取一个脚本
https://gitea.com/actions/checkout@v4
,作用是克隆当前仓库到容器中 - 删除不想公开的内容
- 安装 npm 依赖包(依赖包在
.gitignore
中) - 执行 build 生成网站
- 执行 rsync 更新网站