HUGO + Github + Github Action持续集成部署个人博客
HUGO本地环境
首先在HUGO的官网下载Hugo的Windows安装包,然后将路径添加到环境变量即可。
step1:下载hugo
step2:配置环境变量
HUGO站点配置及主题配置
创建站点
在目录下直接输入下面的代码即可创建一个名为blog的hugo站点(注意:新建的站点是没有自带主题的)
hugo new site blog
或者进入blog文件夹内直接输入以下语句:
hugo new site .
下载主题
可以在hugo theme下载主题,然后根据主题的文档进行配置
放到站点文件夹themes内,配置config.toml
本地测试运行
输入hugo server
测试
Github配置
创建站点仓库并且设置GithubPage
可以在Setting中看见如下:
创建一个存储项目的仓库
配置Github Action
首先在项目仓库点击action,选择Simple workflow,输入一下的配置代码:
name: CI #自动化的名称
on:
push: # push的时候触发
branches: # 那些分支需要触发
- master
jobs:
build:
runs-on: ubuntu-latest # 镜像市场
steps:
- name: checkout # 步骤的名称
uses: actions/checkout@v1 #软件市场的名称
with: # 参数
submodules: true
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.2.2
with:
hugo-version: '0.64.1'
extended: true
- name: Build
run: hugo -D
- name: Deploy
uses: peaceiris/actions-gh-pages@v2.5.1
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
EXTERNAL_REPOSITORY: redisread/redisread.github.io
PUBLISH_BRANCH: master
PUBLISH_DIR: ./public
准备部署,我们开发的项目及github pages实际是分开的,一个用于保存项目,相当于源代码,另外一个用于保存最终的网页文件。
-
使用git生成ssh key(相当于生成对密钥)
ssh-keygen -t rsa -b 4096 -C "$(git config user.email)" -f gh-pages -N "" # You will get 2 files: # gh-pages.pub (public key) # gh-pages (private key)
假设 开发项目为 HUGO_blog 部署的项目为 redisread.github.io
-
打开HUGO_blog仓库的settings,再点击Secrets,然后添加刚刚生成的私钥,name为ACTIONS_DEPLOY_KEY
-
同理,打开redisread.github.io,点击Deploy keys,添加公钥,Allow write access一定要勾上,否则会无法提交
然后,你就可以提交代码了,push成功后,打开仓库actions,至此部署成功,大功告成!