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

说在前面

注意

现在是2023-09-14,本文章写于2021年,使用butterfly作为博客主题的时候,部分书写可能有些错误,请注意结合自己的实际情况,不过该文章介绍的方法与主题无关。

还没有使用过Github Actions的请先看完这篇文章

还没有使用Github Actions自动部署Hexo博客的也请先看完上面说的这篇文章

如果你已经对Gihtub Actions有足够了解,请继续往下看。

步骤

  1. 在自己的需要启动GitHub Actions的仓库中新建一个 autodeploy.yml文件(已有的可以跳过这一步),文件名可以自定义,我的如下:

    image-20211020195420687

  2. 在该文件添加如下代码,部分地方需要自己修改,具体看Github Actions自动部署

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    name: 自动部署

    # 当有改动push到master分支时,启动Action
    on:
    push:
    branches:
    - master #更改为自己仓库的分支

    release:
    types:
    - published

    jobs:
    deploy:
    runs-on: ubuntu-latest
    steps:
    - name: 检查分支
    uses: actions/checkout@v2
    with:
    ref: master #2020年10月后github新建仓库默认分支改为main,注意更改

    - name: 安装 Node
    uses: actions/setup-node@v1
    with:
    node-version: "12.x"

    - name: 安装 Hexo
    run: |
    export TZ='Asia/Shanghai'
    npm install hexo-cli -g
    - name: 缓存 Hexo
    uses: actions/cache@v1
    id: cache
    with:
    path: node_modules
    key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}}

    - name: 安装依赖
    if: steps.cache.outputs.cache-hit != 'true'
    run: |
    npm install --save
    - name: 生成静态文件
    run: |
    hexo clean
    hexo generate
    - name: 使用gulp压缩html-css-js
    run: |
    gulp
    - name: 部署
    run: |
    git config --global user.name "自己Github的username"
    git config --global user.email "自己的邮箱"
    git clone https://github.com/自己的username/username.github.io.git .deploy_git
    # 此处务必用HTTPS链接。SSH链接可能有权限报错的隐患
    # =====注意.deploy_git前面有个空格=====
    # 这行指令的目的是clone博客静态文件仓库,防止Hexo推送时覆盖整个静态文件仓库,而是只推送有更改的文件
    hexo deploy

    - name: 启动gitee pages
    uses: yanglbme/gitee-pages-action@main
    with:
    # 注意替换为你的 Gitee 用户名
    gitee-username: aJream
    # 注意在 Settings->Secrets 配置 GITEE_PASSWORD
    gitee-password: ${{ secrets.GITEE_PASSWORD }}
    # 注意替换为你的 Gitee 仓库,仓库名严格区分大小写,请准确填写,否则会出错
    gitee-repo: ajream
    # 要部署的分支,默认是 master,若是其他分支,则需要指定(指定的分支必须存在)
    branch: master

    其中最后一部分的代码(如下图)就是要启动Gitee Pages服务,其中用到的Actions来自yanglbme,具体请到yanglbme的仓库查看

    image-20211020200535438

注意:secrets.GITEE_PASSWORD 是自己在GitHub Settings配置的,值为自己的gitee登录时的密码

image-20211020201031070

完成

到此就完成了,自己push后就可以自动运行Actions脚本,运行完成后如果没有问题会在gitee平台上收到(登录)通知,配置了邮箱的可以在邮箱收到信息,关注了Gitee官方公众号并且绑定了自己的gitee账户也可以收到消息提醒,如下是微信公众号的提醒:

image-20211020201452403

评论