GitHub托管站点¶
GitHub托管站点很简单,这里介绍一下文档源码私有,站点源码公开,利用GitHub Actions自动更新站点源码的方式,步骤如下:
- 建立文档私有仓库
- 建立站点公有仓库
-
ssh生成rsa密钥对
-
密钥对关联仓库
- 创建workflow
建立文档私有仓库¶
建立私有仓库,仓库名 uccus.github.io.source
,这个仓库存放文档源码。
建立站点公有仓库¶
站点公有仓库的名称有要求,必须是 用户名.github.io,比如我的用户名是uccus,所以我的仓库必须是 uccus.github.io,用户名可以修改
在Settings→Pages中可以看到,网站已准备发布到 https://uccus.github.io,也就是说,我们的博客网站是 https://uccus.github.io。
ssh生成rsa密钥对¶
在命令行中用ssh-kengen
生成密钥对,注意密钥对保存的路径,不要把原有的密钥对覆盖掉,这里生成在当前路径,文件名字叫123
,一路回车即可。
在当前路径下生成了两个文件,123
是私钥,123.pub
是公钥。
密钥对关联仓库¶
在文档源码仓库uccus.github.io.source
中,点开Settings→Secrets,添加私钥,Name为MY_PRIVATE_KEY
,Value填上面生成的123
文件中的内容,注意,MY_PRIVATE_KEY
后边会用到。
在站点源码仓库uccus.github.io
中,点开Settings→Deploy keys,添加公钥,Title
为MY_PUBLIC_KEY,Key
填上面生成的123.pub
文件中的内容。
创建workflow¶
在文档源码仓库uccus.github.io.source
中,点开Actions→set up a workflow yourself,删除原有内容,替换为以下内容:
name: Publish docs via GitHub Pages
on:
push:
branches:
- main # push到main分支后,触发此工作流
jobs:
build:
name: Deploy docs
runs-on: ubuntu-latest
steps:
# 切换到主分支
- name: Checkout main
uses: actions/checkout@v2
# 安装mkdocs和mkdocs-material
- name: Setup MkDocs
run: pip install mkdocs mkdocs-material mkdocs-material-extensions
# 构建静态页面
- name: Build
run: mkdocs build
# 发布页面
- name: Deploy docs
uses: peaceiris/actions-gh-pages@v3
with:
deploy_key: ${{ secrets.MY_PRIVATE_KEY }} # 上面设置的私钥变量
external_repository: uccus/uccus.github.io # 指定仓库地址
publish_branch: main # 指定仓库分支
publish_dir: ./site # 上传site目录下的文件
keep_files: false # 删除原分支代码
commit_message: ${{ github.event.head_commit.message }}
点击右上角,Start Commit即可。
至此,我们可以在本地撰写markdown
文档,mkdocs serve
预览没问题后,通过git push
将代码推送到uccus.github.io.source
仓库,等待Github Actions
完毕(这个过程只需30秒)。
最后,我们就可以在 https://uccus.github.io 浏览网站啦。
本文总阅读量 次