如何部署11ty到github page
下载 11ty 模板并配置 GitHub Pages 部署的流程笔记。
流程
-
下载11ty 模板 https://github.com/google/eleventy-high-performance-blog, 按照提示构建自己的本地博客
-
新增 .nojekyll 文件, 此文件用来告知 github-page 不使用 jekyll 以免产生冲突
-
新增你自己的git仓库, 命名为 <username>.github.io
-
利用下面的命令生成一对秘钥
ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N ""
-
公钥添加到刚刚的仓库 deploy key

-
私钥添加到刚刚的仓库 secret

- 在本地项目新增 .github/workflow/build.yml 文件, 添加下面的内容, 主要逻辑是打包静态文件, 并调用预定义的github action 把 编译好的文件提交到git仓库
name: Eleventy Build
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: '14.x'
- run: npm ci
- run: npm run build
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
publish_dir: ./_site
上面文件中 secrets.ACTIONS_DEPLOY_KEY 正好对应了步骤4中配置好的私钥, 这样action中可以向仓库gh-page分支提交编译好的文件
- 最后一步, 把github-page的source 设置为gh-page, 这样每次往master分支提交内容之后, 就可以触发 action 自动编译文件push到gh-page分支, 你可以在自己的 <username>.github.io 看到最新的博客了