让Github Actions自动构建Hugo博客
自从Github Actions发布之后总想找机会一探究竟,今天花了点时间终于在本站上配置好了,总体上和Gitlab的CI/CD比较相似,顺便记录一下。 准备工作 创建一个repo,或者使用已有的,我这里使用的是top.github.io。在这个项目中新增一个分支,例如名称为hugo,这样做的目的是Hugo源码使用这个分支,最终生成的HTML使用master分支。以后只需要在hugo分支中更新文章,提交之后Github Actions会自动将生成的结果提交到master分支,而master分支是默认托管在Github Pages的,所以就实现了在Github上的CI/CD。 Github Actions配置文件 创建.github/workflows/build-deploy.yml文件: name: github pages on: push: branches: - hugo # 让Actions只检测这个分支的提交 jobs: build-deploy: runs-on: ubuntu-18.04 steps: # 多个步骤如下表示 - name: Checkout master uses: actions/checkout@v1 - name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: hugo-version: 'latest' # 这里可以指定特定版本,我比较随意直接使用latest extended: true - name: Build run: hugo --minify - name: Deploy to master uses: peaceiris/actions-gh-pages@v2 # 我试过使用@v3版本,过程总是报特殊字符错误,所以使用@v2版本 env: ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }} # 大写的这个名称记下来,后面会用到