当前位置:   article > 正文

使用 GitHub Actions 自动部署 Hexo 个人博客_githubactions部署hexo后仓库没有代码

githubactions部署hexo后仓库没有代码

每次部署 Hexo 都需要运行 hexo cl & hexo g & hexo d 指令三件套完成推送到远程仓库,随着文章越来越多,编译的时间也会越来越长,通过 Github Actions,我们只需要在每次完成博客的编写或修改以后,将改动直接 push 到远程仓库,之后的编译部署的工作统统交给 CI 来完成即可。

申请 GitHub Token

  1. 登录 GitHub:https://github.com/,点击右上角头像,点击【Setting】

    image-20230528215544904

  2. 点击左侧的【Developer settings】:

    image-20230528215740677

  3. 依次点击【Personal access tokens】、【Tokens】、【Generate new token】:

    image-20230528215917284

  4. 填写 【Note】、【过期时间】,勾选【repo】【workflow】,点击【Generate Token】:

    image-20230528220108288

  5. 复制生成的 Token,后续会用到。

    image-20230528220411338

源码仓库

  1. 创建一个存放源码的仓库,仓库名任意,勾选【Private】,点击【create repository】:

    image-20230528214812064

配置 Github Action

  1. 在本地 [Blogroot] 根目录下新建 .github 文件夹,注意开头是有个 . 的:

    image-20230528215202940

  2. 然后在 .github 目录下新建 workflows 文件夹:

    image-20230528215237031

  3. 新建 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"
    
    • 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

重新设置远程仓库和分支

  1. 打开本地 [Blogroot] 根目录下的 .gitignore 文件,输入以下内容:

    .DS_Store
    Thumbs.db
    db.json
    *.log
    node_modules/
    public/
    .deploy*/
    .deploy_git*/
    .idea
    themes/anzhiyu/.git
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    注:有其他主题文件时请将 themes/anzhiyu/.git 修改为对应的的主题目录,或者将主题目录下的 .git 文件进行删除。

  2. 在博客根目录 [Blogroot] 下启动终端,使用 git 指令重设仓库地址:

    git remote rm origin # 删除原有仓库链接
    git remote add origin [github 源码仓库地址] # github 源码仓库地址
    
    • 1
    • 2
  3. 推送本地源码到远程仓库:

    git branch -M main # 切换到main分支
    git add .
    git commit -m "github action update"
    git push -u origin main
    
    • 1
    • 2
    • 3
    • 4

查看部署

进入存放源码的仓库,点击【Actions】即可查看到自动部署的情况,每次本地推送到远程仓库时,会触发自动部署。

image-20230528221621461

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/837942
推荐阅读
相关标签
  

闽ICP备14008679号