抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

一方天地

一个兴趣使然的小站

Github 这么好的平台,不好好嫖一下怎么行。

为什么需要 Github Actions

  1. 省去不必要的麻烦
  2. hexo 生成的是静态网页,操作繁琐
  3. 节省部分时间
  4. 我们只需要将本地 Push 到 Github 中,其余步骤将由 Github Actions 完成。
  5. 没有了

如何做

当知道为什么需要使用 Github Actions之后,我们便可以开始工作了。

进行操作前,建议先将本地源码进行备份

获取 Token

  1. 打开 Github,依次点击Settings-Developer Settings-Personal access tokens-Tokens(classic)-Generate new token
  2. 创建 Token,名称随意,勾选所有权限,将生成的 Token 拷贝到文本档中备用。
  • 至此,Token 的获取就算完成了

    虽然名称随意,但防止 Token 过多导致混乱,建议以 blog 或类似的名字进行命名

创建仓库并上传源码

  1. 首先创建一个仓库名称随意。我是使用 hexo-blog-backup 命名的
  2. 在本地博客的终端中依次输入以下命令
1
2
3
4
5
6
heco cl
git init
git remote add origin git@github.com:[USERNAME]/[REPO].git
git add .
git commit -m 'first commit'
git push -u origin master

配置 Github Actions

  1. 依次点击仓库中的 Settings - Secrets - Actions - New repository secret
  2. 输入变量名 ACCESS_TOKEN ,在 Key 输入框中输入在步骤一中获取的 Token。
  3. 点击 Actions,创建一个 Workflows,命名随意。输入以下内容,并按照自己需求进行更改:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    name: Blog Deploy

    # 触发条件:手动触发或在 push 到 hexo-blog-backup 分支后触发
    on:
    workflow_dispatch:
    push:
    branches:
    - master

    env:
    TZ: Asia/Shanghai

    jobs:
    blog-cicd:
    name: Hexo blog build & deploy
    runs-on: ubuntu-latest # 使用最新的 Ubuntu 系统作为编译部署的环境

    steps:
    - name: Checkout codes
    uses: actions/checkout@v3

    - name: Setup node
    # 设置 node.js 环境
    uses: actions/setup-node@v3
    with:
    node-version: current # 使用最新的 node.js 环境

    - name: Cache node modules
    # 设置包缓存目录,避免每次下载
    uses: actions/cache@v3
    with:
    path: ~/.npm
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}

    - name: Install hexo dependencies
    # 下载 hexo-cli 脚手架及相关安装包
    run: |
    npm install -g hexo-cli
    npm install

    - name: Generate files
    # 编译
    run: |
    hexo clean
    hexo generate

    - name: Deploy hexo blog
    env:
    GITHUB_REPO: github.com/[USERNAME]/[BLOG_REPO]
    # 将编译后的博客文件推送到指定仓库
    run: |
    cd ./public && git init && git add .
    git config user.name "[USERNAME]"
    git config user.email "[USER_EMAIL]"
    git add .
    git commit -m "GitHub Actions Auto Builder at $(date +'%Y-%m-%d %H:%M:%S')"
    git push --force --quiet "https://${{ secrets.ACCESS_TOKEN }}@$GITHUB_REPO" master:master
    # 上述中,请将[USERNAME]、[BLOG_REPO]、[USER_EMAIL]分别修改为自己的用户名、博客储存仓库、邮箱

手动触发测试

完成以上步骤后,建议进行手动触发进行测试,并检查相关错误并纠正。

如何上传新的文章

在本地写好文章后,输入

1
2
3
4
git pull
git add .
git commit -m 'new'
git push origin master

注意

你可以选择将博客源码放置于博客仓库下的不同分支,不一定必须要新建一个仓库

评论