IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Github Pages 部署流程解析

    流动发表于 2024-09-24 21:30:21
    love 0

    上周末在搭建个人锻炼页面时,遇到个Github Pages部署的困惑。

    看了running_page项目文档,是支持部署到Github Pages页面的,对应的操作流程定义在github/workflows/gh-pages.yml文件。

        - name: Install dependencies
        run: pnpm install
        - name: Build
        run: PATH_PREFIX=/${{ github.event.repository.name }} pnpm build
    
        - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
            # Upload dist repository
            path: './dist'
        - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
    

    核心逻辑就是上面这段。

    之前搞过部署hugo静态站点到Github Pages,使用的分支方式部署,编译后的静态文件单独用一个分支存放。

    这里以我自己的博客项目举例,大致流程如下图:

    github-pages-deploy-flow

    按我的理解,这里最终访问的文件内容是存在gh-page分支下的。

    但是实际部署完running_page项目后,我发现并没有出现gh-page分支,但是Github Pages却可以正常访问。

    有点不可思议,这个访问的数据是在哪里的呢?

    带着这个疑问,在v2ex上发了个咨询贴。

    经过网友解惑,大致搞明白了这里的流程:

    github-pages-deploy-flow

    Github Pages的发布源有两种方式,通过分支部署和通过Github Actions部署,分别对应上图的两条分支。

    这里最终都会将build后的静态文件部署到Github Pages服务上,供用户访问。

    分支部署的方式,其实是有一个内置工作流部署到Github Pages服务上的。

    整个部署流程大致就是这样,最终的静态文件都是存在Github Pages服务上的。



沪ICP备19023445号-2号
友情链接