部署 teedoc 生成的网站到 github pages
克隆模板仓库
访问 https://github.com/teedoc/teedoc.github.io
点击 Use this template
然后填写新的仓库名称(如果你不准备自定义域名,则仓库名字最好是teedoc.github.io
将teedoc
替换成你的用户名或者组织名)和描述,基于这个仓库新建一个你自己的仓库,现在你获得了和 teedoc
官网一模一样的仓库了
会发现有一个
.github/workflows
的目录,这个就是github action
的配置文件,我们利用这个功能来实现:
当我们更新仓库的源文件时,github action
自动根据这个配置文件的命令构建生成静态网页,然后推送到这个仓库的gh-pages
分支
生成 ssh 密钥
然后在本地生成一对key
(windows下需要先安装相关软件,请自行安装(安装git就会有))
ssh-keygen -t rsa -f key.txt
得到了key.txt
和 key.key.pub
两个文件
设置密钥
到文档项目的设置里面设置ssh
密钥, 添加一个ssh
密钥, 拷贝 key.txt.pub
中的内容,注意是pub
文件,即公钥,选中允许写入权限, 名字随便取
然后点击Secrets
,设置秘密键值对, 需要设置的变量有:
ACCESS_KEY
: 复制key.txt
中的内容GIT_EMAIL
: 设置一个git
提交邮箱,设置你的github
邮箱即可GIT_NAME
: 设置一个git
提交名字,设置你的github
名字即可REPO
: 仓库地址, 设置为组织名/仓库名
或者用户名/仓库名
,比如teedoc/teedoc.github.io
即可
触发构建
像仓库提交一次修改,会自动触发构建, 可以在Actions
栏看到进度和日志
如果是绿色的勾, 就代表成功了,否则就是失败了,可以点进去看构建日志报了什么错,一般都是前面的值填错了
设置 pages 服务
然后在设置里面找到 pages
服务设置,打开即可,然后访问对应的域名,可以勾选 Enforce HTTPS
来使能HTTPS
(推荐)
比如这里是https://teedoc.github.io/
注意如果跟路径不是
/
,而且没有自定义域名(自定义域名见后面的介绍),比如https://teedoc.github.io/my_site/
, 则需要在site_config.json
中配置"site_root_url":"/my_site/"
Pages 服务自定义域名
部署好后会有一个默认的域名,比如teedoc.github.io
, 如果想使用自己的域名,比如teedoc.neucrack.com
,即需要自定义域名。
在site_config.json
文件中设置了网站根目录映射的文件目录,比如这里是pages/index/zh
目录:
"pages": {
"/": "pages/index/zh",
"/en/": "pages/index/en"
},
在这个目录新建一个文件,取名CNAME
注意没有后缀,然后写入自定义的域名比如teedoc.neucrack.com
保存文件,提交即可
你可能在设置里面看到了
custom domain
的设置,但是需要像这里说的设置CNAME
文件才能保持一直生效,不然下次提交自定义域名就失效了