文章目录
- 申请 GitHub Token
- 源码仓库
- 配置 Github Action
- 重新设置远程仓库和分支
- 查看部署
每次部署 Hexo
都需要运行 hexo cl & hexo g & hexo d
指令三件套完成推送到远程仓库,随着文章越来越多,编译的时间也会越来越长,通过 Github Actions
,我们只需要在每次完成博客的编写或修改以后,将改动直接 push
到远程仓库,之后的编译部署的工作统统交给 CI
来完成即可。
申请 GitHub Token
-
登录 GitHub:https://github.com/,点击右上角头像,点击【Setting】
-
点击左侧的【Developer settings】:
-
依次点击【Personal access tokens】、【Tokens】、【Generate new token】:
-
填写 【Note】、【过期时间】,勾选【repo】【workflow】,点击【Generate Token】:
-
复制生成的 Token,后续会用到。
源码仓库
-
创建一个存放源码的仓库,仓库名任意,勾选【Private】,点击【create repository】:
配置 Github Action
-
在本地
[Blogroot]
根目录下新建.github
文件夹,注意开头是有个.
的: -
然后在
.github
目录下新建workflows
文件夹: -
新建
autodeploy.yml
文件,在autodeploy.yml
中添加以下内容:name: 自动部署 # 当有改动推送到main分支时,启动Action on: push: branches: - main release: types: - published jobs: deploy: runs-on: ubuntu-latest steps: - name: 检查分支 uses: actions/checkout@v2 with: ref: main - name: 安装 Node uses: actions/setup-node@v1 with: node-version: "16.x" - name: 安装 Hexo run: | export TZ='Asia/Shanghai' npm install hexo-cli -g - name: 缓存 Hexo id: cache-npm uses: actions/cache@v3 env: cache-name: cache-node-modules with: path: node_modules key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: 安装依赖 if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }} run: | npm install gulp-cli -g #全局安装gulp npm install --save - name: 生成静态文件 run: | hexo clean hexo bangumi -u #bilibili番剧更新 hexo generate # 生成静态文件 hexo algolia # 同步 algolia 搜索 gulp - name: 部署到Github uses: JamesIves/github-pages-deploy-action@v4 with: token: # github token repository-name: # 推送的目标仓库:用户名/仓库 ShiJieCloud/blog-source branch: main # 推送的目标仓库分支 folder: public # 要推送的文件夹下的内容 commit-message: "${{ github.event.head_commit.message }} Updated By Github Actions"
重新设置远程仓库和分支
-
打开本地
[Blogroot]
根目录下的.gitignore
文件,输入以下内容:.DS_Store Thumbs.db db.json *.log node_modules/ public/ .deploy*/ .deploy_git*/ .idea themes/anzhiyu/.git
注:有其他主题文件时请将
themes/anzhiyu/.git
修改为对应的的主题目录,或者将主题目录下的.git
文件进行删除。 -
在博客根目录
[Blogroot]
下启动终端,使用 git 指令重设仓库地址:git remote rm origin # 删除原有仓库链接 git remote add origin [github 源码仓库地址] # github 源码仓库地址
-
推送本地源码到远程仓库:
git branch -M main # 切换到main分支 git add . git commit -m "github action update" git push -u origin main
查看部署
进入存放源码的仓库,点击【Actions】即可查看到自动部署的情况,每次本地推送到远程仓库时,会触发自动部署。