Github部署静态博客

此文章非Pages教程,我打算从typecho迁移到hexo,但是之前因为文件丢过一次,导致整个博客彻底停更,就一直用的typecho,后来得群友启发,用GitHub Action自动打包推到Netlify,颇有成效,于是写篇文章出来

具体可看:https://github.com/runoneall/blog

  • 1.

    创建仓库,名称随意,注意 .gitignore 选 Node

    这里我直接用blog做仓库名

  • 2.

    创建codespace
    Image description![Image description](https://s.rmimg.com/2025-05-01/1746087828-570689-2025-05-01-162319.png)

  • 3.

    按照hexo官方教程搭建博客
    这里文件夹我还是用 blog,`npx hexo init blog`

  • 4.

    搭建好后创建workflow

    ```yaml name: Build And Deploy to Public Branch

    on:
    workflow_dispatch:

    jobs:
    build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
    uses: actions/checkout@v4
    with:
    fetch-depth: 0

      - name: Set up Node.js LTS
        uses: actions/setup-node@main
        with:
          node-version: latest
    
      - name: Install Hexo CLI
        run: npm install hexo
    
      - name: Install dependencies and generate
        run: |
          cd blog
          npm install
          npx hexo clean
          npx hexo generate
    
      - name: Deploy to public branch
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.REPO_TOKEN }}
          publish_dir: ./blog/public
          destination_dir: ./
          publish_branch: public
          keep_files: false<i>
    

    ```

    意思是:拉取代码 -> 安装nodejs -> 安装hexo -> 安装依赖并生成静态文件 -> 提交到public分支
    (这里需要在仓库设置里创建名为REPO_TOKEN的secret,令牌需要对仓库有写入权限,勾选repo即可)

  • 5.

    在netlify上创建项目,选择blog仓库,分支选public,点部署即可

  • 这样一来只要GitHub不炸文件就丢不了

    2 个赞

    国内访问慢呀,还不如用下小飞页免费云建站,自带域名、主机,也不用操心网站程序。

    Image description</s>Image description<e>

    @“小飞页独立站”#p309924

    Image description</s>Image description<e>

    netlify快到起飞好不好…

    @“Xnoob”#p309970 确实 还支持 v6,v6延迟也算不错

    走的AWS的线路

    @“yyyyt”#p309973

    wc你是住论坛上了嘛

    @“Xnoob”#p309975 为啥要说是住论坛上 只是随缘看看

    支持一下