跳转至

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 # 目的仓库对应的分子