Appearance
1panel
安装OpenResty
应用商店点点点
OpenResty创建静态网站
填写 主域名 确认
点击 配置 -> 网站目录 得到网站根目录**/index
开启 HTTPS 不在这里写了
博客仓库 Github+vitepress
按vitepress官网一步步创建本地项目
把本地项目推送到github
如果想部署到github pages,项目名为{用户名}.github.io,并设为public。
本文是部署到vps,因此项目名无限制,并可设为private。
Github Actions
Actions Runner
Actions配置文件
{网站根目录} 替换为 OpenResty中的 网站目录
yaml
name: Build VitePress Site
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install pnpm
run: npm install -g pnpm
- name: Install dependencies
run: pnpm install
- name: Build VitePress site
run: pnpm run vpsbuild
- name: Delete old files in target directory
run: sudo rm -rf {网站根目录}/*
- name: Move built files
run: sudo mv docs/.vitepress/dist/* {网站根目录}/
其中 pnpm run vpsbuild
是自定义编译命令,修改package.json
。最后更新时间错误
用于解决部署到vps或cloudflare时,最后更新时间错误问题
json
{
"devDependencies": {
"md5": "^2.3.0",
"vitepress": "^1.3.2",
"vue": "^3.4.27"
},
"scripts": {
"docs:dev": "vitepress dev docs",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs",
"vpsbuild": "git fetch --unshallow && vitepress build docs"
}
}
可能遇到的问题
权限问题-无法发布编译后的dist
由于actions runner需要非root用户运行,1panel需要root运行,因此需要使用sudo命令进行替换博客文件。
而执行sudo命令时,需要输入密码,所以修改 /etc/sudoers
# 增加免密命令--具体命令为actions配置文件中的sudo命令
# 用户名为运行actions runner的用户名
# 用户名 ALL=(root) NOPASSWD: /bin/rm ...
# 用户名 ALL=(root) NOPASSWD: /bin/mv ...