2023年最新 Github Pages 使用手册

这篇具有很好参考价值的文章主要介绍了2023年最新 Github Pages 使用手册。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:GitHub Pages 快速入门

1、什么是 Github Pages

GitHub Pages 是一项静态站点托管服务,它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件,(可选)通过构建过程运行文件,然后发布网站。 可以在 GitHub Pages 示例集合中看到 GitHub Pages 站点的示例。

1.1 站点类型

若要发布用户站点,必须创建个人帐户拥有的存储库,且存储库必须是公开的,私有不允许。 若要发布组织站点,必须创建组织帐户拥有的存储库。

除非使用的是自定义域,否则用户和组织站点在 http(s)://<username>.github.iohttp(s)://<organization>.github.io 中可用。项目站点的源文件与其项目存储在同一个仓库中

除非使用的是自定义域,否则项目站点在 http(s)://<username>.github.io/<repository>http(s)://<organization>.github.io/<repository> 中可用。

1.2 使用限制

  • GitHub Pages 源存储库的建议限制为 1 GB。 有关详细信息,请参阅“关于 GitHub 上的大文件”
  • 发布的 GitHub Pages 站点不得超过 1 GB。
  • 如果花费的时间超过 10 分钟,GitHub Pages 部署将超时。
  • GitHub Pages 站点的软带宽限制为每月 100 GB。
  • GitHub Pages 站点的软限制为每小时 10 次生成。 如果使用自定义 GitHub Actions 工作流生成和发布站点,则此限制不适用
  • 为了为所有 GitHub Pages 站点提供一致的服务质量,可能会实施速率限制。 这些速率限制无意干扰 GitHub Pages 的合法使用。 如果你的请求触发了速率限制,你将收到相应响应,其中包含 HTTP 状态代码 429 以及信息性 HTML 正文。

如果您的站点超出这些使用配额,我们可能无法为您的站点提供服务;或者您可能收到来自 GitHub 支持 的礼貌电子邮件,建议降低站点对服务器影响的策略,包括将第三方内容分发网络 (CDN) 置于您的站点前,利用其他 GitHub 功能(如发行版)或转用可能更符合您需求的其他托管服务。

1.3 数据收集

访问 GitHub Pages 站点时,出于安全目的,无论访问者是否已登录 GitHub ,都会记录并存储访问者的 IP 地址。 有关 GitHub 的安全做法的详细信息,请参阅 GitHub 隐私声明。

2、创建 GitHub Pages 站点

  1. 创建仓库,且仓库必须是公开的

github pages,github,前端,github pages

  1. 本地新建项目、创建 index.html、index.css、index.js ,并配置如下

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <link rel="stylesheet" href="./index.css">
    </head>
    
    <body>
        <h1>Hello Github Pages</h1>
        <script src="./index.js"></script>
    </body>
    
    </html>
    
    h1 {
        color: red;
    }
    
    console.log("Hello Github Pages");
    
  2. 关联仓库,推送到 github

github pages,github,前端,github pages

  1. 点击设置,再点击右边栏上的 Pages

github pages,github,前端,github pages

  1. 设置 main 分支,root 根文件夹,并点击保存

github pages,github,前端,github pages

  1. 可以看到 Actions 中已经在构建和部署页面了

github pages,github,前端,github pages

  1. 构建完成后,重新回到 设置的Pages 页,可以看到多了如下的提示,点击查看即可

github pages,github,前端,github pages

  1. 部署成功,展示如下:

github pages,github,前端,github pages

3、删除站点

可通过两种方式删除站点:

  • 删除存储库。 有关详细信息,请参阅“删除仓库”。
  • 将源更改为 None 分支

4、取消/重新发布站点

取消发布站点时,当前部署将被删除,并且该站点将不再可用。 所有现有存储库设置或内容都不受影响。

取消发布站点

  1. 在 GitHub.com 上,导航到存储库的主页。

  2. 在 GitHub Pages 下的“站点所在位置”消息旁,单击 ...

  3. 在显示的菜单中,选择“取消发布站点”。

github pages,github,前端,github pages

重新发布站点:在 GitHub Actions 中重新点击构建发布

github pages,github,前端,github pages

5、自定义404页面

可以有两个方式:

  • 仓库内创建 404.md,但是开头需要配置 yml 格式

    ---
    permalink: /404.html
    ---
    ...
    
  • 仓库内创建 404.html

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>404</title>
    </head>
    
    <body>
        <h3>404</h3>
    </body>
    
    </html>
    

6、配置发布源

发布源的方式有两种,一种是基于分支推送自动构建的方式,第二种的话是根据 Github Actions 做自动化构建

分支推送自动构建:可以选择推送的分支来进行触发,以及只能选择 / 根文件夹或者 docs 文件夹作为目录

如果选择了 docs 作为目录,如果不存在则会构建失败,并会收到提示邮件

Github Actions 自动化构建:优点在于不需要选择项目的静态目录,只需要使用在 工作流 中生成的工件去使用即可

7、Github Actions 自动化构建

  1. 使用 @mazp/create-tpl 创建 Vue3+TS 项目,用其他脚手架生成可以打包的项目也可以

  2. 创建仓库,且在 package.json 有 build 的 scripts

github pages,github,前端,github pages

  1. 推送项目,开启 Github Pages 服务,并点击 create your own 按钮,github 会为我们自动初始化一个工作流

github pages,github,前端,github pages

  1. 填写文件名,并进行提交:

github pages,github,前端,github pages

  1. 查看 Actions,可以看到刚刚创建的 CI 工作流,并且会执行

github pages,github,前端,github pages

  1. 使用 git pull 将创建好的工作流拉取下来,并进行如下修改:

    # 1 工作流名称
    name: CI
    
    # 2 工作流执行名称
    run-name: ${{ github.actor }} is update repo, start building...
    
    # 3 触发器
    on:
      # push 推送
      push:
        branches: ["main"]
      # PR 合并提交
      pull_request:
        branches: ["main"]
    
      # 允许您从“操作”选项卡手动运行此工作流
      workflow_dispatch:
    
    # 4 设置权限(文件是可以被读写修改的)
    permissions:
      contents: write
    
    # 工作1
    jobs:
      # 任务名称
      build:
        # 执行平台
        runs-on: ubuntu-latest
    
        # 任务步骤
        steps:
          # 1 将代码仓库的内容拉取(或称为检出)到工作目录中,以便在下面的工作流程中使用
          - name: Checkout code (检出代码)
            uses: actions/checkout@v3
          # 2 安装 node 环境,并设置版本为 16
          - name: Setup Node.js (设置 node 版本)
            uses: actions/setup-node@v3
            with:
              node-version: 16
          # 3 安装 pnpm
          - name: Install pnpm (安装 pnpm)
            uses: pnpm/action-setup@v2
            with:
              version: 7.0.0
          # 4 安装依赖
          - name: Install dependencies (安装依赖)
            run: pnpm install
    
          # 5 代码检查,无该命令所以不执行
          # - name: lint (代码检查)
          #   run: pnpm run lint
    
          # 6 跑测试,无该命令所以不执行
          # - name: Test (测试)
          #   run: pnpm run test
    
          # 7 构建项目
          - name: Build (构建)
            run: pnpm run build
          # 8 上传构建产物(actions/upload-artifact@v3 会上传工作流程中的文件,允许您在作业之间共享数据并在工作流程完成后存储数据)
          - name:  Upload build artifacts (上传构建产物)
            uses: actions/upload-pages-artifact@v2
            with:
              path: "./dist"
    
  2. 上传该文件,可以看到对应的工作流自动触发,并生成了 dist 的构建产物,但是目前还没有使用到该产物

github pages,github,前端,github pages

  1. 添加部署的最后一个步骤

    ...
          # 9 部署 GitHub Pages
          - name: Deploy to GitHub Pages(部署到 GitHub Pages)
            uses: actions/deploy-pages@v2
            with:
              token: ${{ secrets.GITHUB_TOKEN }}
    
  2. 上传后,可以发现打包成功,并且正常部署了

    如果你的页面存在 404 的问题,在于打包的时候没有配置好资源基础路径,我的项目的话是在 Vite 配置文件中添加配置如下:

    export default defineConfig({
      mode: "development",
      // 与项目仓库名对应
      base: "/action-vue3/",
      // ...
    })
    

github pages,github,前端,github pages

8、推送到指定分支进行 Pages 展示

把之前的第九步进行注释,添加新的部署操作:

      # ...
      # 9 部署 GitHub Pages
      # - name: Deploy to GitHub Pages(部署到 GitHub Pages)
      #   uses: actions/deploy-pages@v2
      #   with:
      #     token: ${{ secrets.GITHUB_TOKEN }}

      # 10 部署到 gh-pages分支
      - name: Deploy to GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./dist
          force_orphan: true

在首次自动构建完成后,会创建 gh-pages 分支:

github pages,github,前端,github pages

接下去就需要我们将 Github pages 设置成 分支推送自动构建 模式,设置 gh-pages 分支推送的根目录文件夹,这样但 Github Actions 构建完成之后,会自动推送并覆盖该分支,从而正确部署项目

9、使用 Actions 缓存依赖

使用 Github Actions ,默认会为执行器安装 node 等最新环境,所以可以直接使用 node 以及 npm,如果需要指定版本,使用 actions/setup-node@v3 进行下载

在上述例子的基础上,修改 yml 文件,缓存 node_modules:

  • 使用上下文创建缓存键
  • 上下文可使用变量
  • 关于 GITHUB_TOKEN 机密
# 1 工作流名称
name: CI

# 2 工作流执行名称
run-name: ${{ github.actor }} is update repo, start building...

# 3 触发器
on:
  # push 推送
  push:
    branches: ["main"]
  # PR 合并提交
  pull_request:
    branches: ["main"]

  # 允许您从“操作”选项卡手动运行此工作流
  workflow_dispatch:

# 4 设置权限(文件是可以被读写修改的)
permissions:
  contents: write
  pages: write
  id-token: write

# 工作合集
jobs:
  # 1) 初始化
  setup:
    runs-on: ubuntu-latest
    steps:
      # 1 将代码仓库的内容拉取(或称为检出)到工作目录中,以便在下面的工作流程中使用
      - name: checkout
        uses: actions/checkout@v3

      # 2 读取缓存 node_modules
      - name: cache node_modules
        id: node_modules_cache_id
        uses: actions/cache@v3
        with:
          path: node_modules
          # hashFiles 可以根据文件哈希创建 key 值,当文件依赖发生变化时,重新存储缓存
          key: ${{ runner.os }}-${{ hashFiles('package.json') }}-node_modules

  # 2) 构建项目
  build:
    runs-on: ubuntu-latest
    needs: setup
    steps:
      # 1 将代码仓库的内容拉取(或称为检出)到工作目录中,以便在下面的工作流程中使用
      - name: checkout
        uses: actions/checkout@v3

      # 2 安装 node 环境,并设置版本为 16(不装默认会最新版本)
      - name: Setup Node.js (设置 node 版本)
        uses: actions/setup-node@v3
        with:
          node-version: 16

      # 3 安装检索依赖
      - name: Install dependencies (安装依赖)
        run: npm install

      # 4 如果变化重新设置缓存 node_modules
      - name: restore cache from node_modules
        id: node_modules_cache_id
        uses: actions/cache@v3
        with:
          path: node_modules
          key: ${{ runner.os }}-${{ hashFiles('package.json') }}-node_modules

      # 5 代码检查,无该命令所以不执行
      # - name: lint (代码检查)
      #   run: pnpm run lint

      # 6 跑测试,无该命令所以不执行
      # - name: Test (测试)
      #   run: pnpm run test

      # 7 构建项目
      - name: Build (构建)
        run: npm run build

      # 8 上传构建产物(actions/upload-artifact@v3 会上传工作流程中的文件,允许您在作业之间共享数据并在工作流程完成后存储数据)
      - name: Upload build artifacts (上传构建产物)
        uses: actions/upload-pages-artifact@v2
        with:
          path: "./dist"

  # 3) 部署项目
  deploy:
    runs-on: ubuntu-latest
    needs: build
    steps:
      # 1.1 部署 GitHub Pages
      # - name: Deploy to GitHub Pages(部署到 GitHub Pages)
      #   uses: actions/deploy-pages@v2
      #   with:
      #     token: ${{ secrets.GITHUB_TOKEN }}

      # 1.2 部署到 gh-pages分支
      - name: Deploy to GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./dist
          force_orphan: true

缓存成功可以看到:

关于上面的 Setup pnpm cache 步骤中,7 天内未被访问的任何缓存条目将会被删除。可以存储的缓存数没有限制,但存储库中所有缓存的总大小限制为 10 GB,更多内容请阅读 缓存依赖项以加快工作流程。

github pages,github,前端,github pages

首次和二次使用后速度对比:

github pages,github,前端,github pages文章来源地址https://www.toymoban.com/news/detail-714488.html

到了这里,关于2023年最新 Github Pages 使用手册的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用内网云+GitHub Pages免费部署动态网站

    目录 一、失败的经历 1.花生壳 2. nat123 3. 网云穿 4. cpolar 5. ngrok 6.金万维快解析 7.神卓互联 8.内网云(neiwangyun.net) 9.localhost.run 10.GitHub Pages(pages.github.com) 11.IPv6 12.IPv6+GitHub Pages 13.FRP 14.nps 二、终极方案:内网云+GitHub Pages 相信很多人都想搭建网站吧。但是,搭建网站不光得自

    2024年02月11日
    浏览(45)
  • github使用workflow工作流git push后自动打包部署github pages

    根目录新建.github/workflows/docs.yml .github/workflows/ 目录是用于存放 GitHub Actions 工作流程文件的目录,该目录的文件名必须以 .yml 或 .yaml 为后缀名,否则 GitHub 将无法识别该文件为工作流程文件。这些工作流程文件可用于自动化执行项目中的各种任务,例如构建、测试、部署等。

    2024年02月10日
    浏览(52)
  • 如何使用Jekyll在GitHub Pages上搭建网站(个人博客)

    本文很长,建议使用侧边栏进行跳转。 Jekyll 是一个基于 Ruby 语言的,用于搭建静态网站的生成器,主要用于搭建博客网站(官方自己的介绍为:Jekyll is a blog-aware, static site generator in Ruby)。但是虽然是静态网站,但是可以实现一些使用数据库的动态网站的效果和功能,是很不

    2024年02月06日
    浏览(81)
  • Jekyll(一).使用Jekyll+Github Pages搭建自己的博客

    Jekyll 是一个静态站点生成器,内置 GitHub Pages 支持和简化的构建过程。 Jekyll 使用 Markdown 和 HTML 文件,并根据您选择的布局创建完整静态网站。 Jekyll 支持 Markdown 和 Lick,这是一种可在网站上加载动态内容的模板语言。所以在Github Pages上使用Jekyll很合适,其他有关介绍请参考

    2024年02月11日
    浏览(51)
  • Github Pages 访问速度慢,使用vercel部署静态博客提高访问速度

    国内 Github Pages 速度较慢。使用ping工具测试一下发现速度慢道发火。 vercel 速度快且能够自定义域名,能实现和 Github Pages 一样的效果 vercel 官方地址:https://vercel.com/ 这是没有接入vercel之前的ping的速度: 接入之后的速度:   首先注册一个账号,使用github登陆也可以,然后需

    2024年02月06日
    浏览(58)
  • 杂货铺 | 使用 Github Pages 和 Hexo 搭建自己的独立博客

    node.js安装,在安装时会自动安装npm。 Git安装,点击此处访问官网,按需下载对应版本,默认安装即可。 检验安装是否成功: Win + R 打开运行窗口,输入 cmd ,输入如下命令,有相应版本信息显示则安装成功。 若不正确可以卸载软件重新安装,此外若安装成功,在桌面右键鼠

    2024年04月27日
    浏览(34)
  • vitepress项目使用github的action自动部署到github-pages中,理论上可以通用所有

    .githubworkflowsdeploy.yml 完整的代码:使用的是 pnpm 进行依赖安装。 这段 YAML 文件定义了一个 GitHub Actions 工作流,用于在推送到 docs 分支时构建和部署 VitePress 项目。 on : 定义触发工作流的事件,这里是在推送到 docs 分支时触发。 jobs : 定义工作流中的任务。 build-and-deploy : 任务

    2024年01月17日
    浏览(49)
  • Github 自动化部署到GitHub Pages

    前言 github仓库示例: automated-deployment 1.准备工作 新建仓库 新建项目 配置 vite.config.ts 部署应用包时的基本URL,例:vue-cli 5.x 配置 publicPath 推送到远程仓库 2.配置 GitHub Token 点击 Settings - Actions - General 找到 Workflow permissions,选中第一项并保存 工作流默认是没有推送代码的权限,

    2024年02月05日
    浏览(68)
  • GitHub Pages + Hexo

    https://icheng.github.io/ 参考如下步骤:https://blog.csdn.net/yaorongke/article/details/119089190 其更换Fluid主题时: 下载最新 release 版本 解压到 themes 目录,并将解压出的文件夹重命名为 fluid 按照上面执行后,后面项目无法运行 解决: 进入官网,还有另外一种方案,按照官网的方式一,可

    2024年02月16日
    浏览(47)
  • Hugo托管到Github Pages

    Github通过其 Github Pages 服务可以user、project或organization提供免费快速的静态托管,同时使用 Github Actions 自动化开发工作流和构建。 1.创建Github仓库 可见性为public。 命名为 username.github.io ,username为你的Github用户名。 2.添加远程仓库 添加主题前,我们就已经使用 git init 初始化了

    2024年02月11日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包