Github Pages和Actions
1. 开启服务
新建github仓库,仅公开的仓库支持github-pages服务。
在仓库的Settings->Pages中开启服务。
可选择项目代码来源的分支+Souce目录。
2. 自定义域名
域名认证
在你的域名提供商的控制台中,新增一条CNAME记录,比如:
- 主机记录 www
- 记录类型 CNAME
- 记录值 yinkh.github.io
界面配置
在仓库的Settings->Pages中开启服务。
开启后githubs会自动在项目对应目录中创建一个CNAME文件,文件内容为你的自定义域名。
文件配置
在项目的source目录中,手动新增一个CNAME文件,文件内容为你的自定义域名,可以达到同样的效果。
CNAME错误
这个文件不可以删除,删除将导致自定义域名解析失效。
之前我总是全局覆盖项目下的静态文件,CNAME文件被删除了,导致自定义域名一会生效,一会提示404 github-pages不存在,定位了好久。具体可以参考:CNAME 错误
3. CI
在项目根目录新建文件夹.github/workflows
,新增文件 ci.yml:
ci.yml
name: publish-github-pages
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest # 编译机系统
steps:
- uses: actions/checkout@v2 # 检出代码
- uses: actions/setup-python@v2 # 设置Python版本
with:
python-version: 3.9
- run: pip install -r requirements.txt # 按照对应依赖
- run: mkdocs build # 编译静态文件站点
- name: Deploy # 推送静态文件目录至github-pages仓库
uses: peaceiris/actions-gh-pages@v3 # 引用的三方Action
with:
external_repository: yinkh/yinkh.github.io # 要推送的仓库地址
personal_token: your personal_token # 自己的token
publish_dir: ./sites # 源仓库要上传的目录
publish_branch: master # 目的仓库对应的分子