赞
踩
每次部署 Hexo
都需要运行 hexo cl & hexo g & hexo d
指令三件套完成推送到远程仓库,随着文章越来越多,编译的时间也会越来越长,通过 Github Actions
,我们只需要在每次完成博客的编写或修改以后,将改动直接 push
到远程仓库,之后的编译部署的工作统统交给 CI
来完成即可。
登录 GitHub:https://github.com/,点击右上角头像,点击【Setting】
点击左侧的【Developer settings】:
依次点击【Personal access tokens】、【Tokens】、【Generate new token】:
填写 【Note】、【过期时间】,勾选【repo】【workflow】,点击【Generate Token】:
复制生成的 Token,后续会用到。
创建一个存放源码的仓库,仓库名任意,勾选【Private】,点击【create repository】:
在本地 [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】即可查看到自动部署的情况,每次本地推送到远程仓库时,会触发自动部署。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。