Skip to main content

自动部署你的网站

借助 GitHub Actions 和 GitHub Pages 自动执行代码部署,在每次推送到主分支时将更新发布到线上站点。

你的功能已合并,因此现在你可以共享它。 在本教程中,你将设置自动部署,以便每次推送 main 将软件项目发布到实时网站。

注意

您的 GitHub Pages 站点的 URL 取决于您使用的是哪个版本的 GitHub。

  • 在 GitHub.com 上,你的网站发布在 YOUR-USERNAME.github.io/REPOSITORY
  • 如果您在 GitHub 上使用启用了数据驻留的 GHE.com,您的站点将发布在 pages.SUBDOMAIN.ghe.com/YOUR-USERNAME/REPOSITORY,其中 SUBDOMAIN 是您企业的子域名。
  • 在 GitHub Enterprise Server 上,您的站点会发布到 pages.HOSTNAME/YOUR-USERNAME/REPOSITORY,其中 HOSTNAME 是您的 GitHub Enterprise Server 实例的主机名。

先决条件

  • 一个包含你已合并功能的 stargazers-log 存储库。 如果尚未合并,请参阅 审查你提出的更改

启用 GitHub Pages

设置 GitHub Pages 来托管您的网站,并使用 GitHub Actions 来构建和发布它。

  1. 在 GitHub 上,前往你的 stargazers-log 存储库。
  2. 在存储库名称下,单击“ 设置”。
  3. 在边栏中的“代码和自动化”部分中,单击 “页面”。
  4. 在“生成和部署”下,从 “源 ”下拉列表中选择 GitHub Actions

将其他设置保留为默认值。 接下来,你将创建 自己的工作流 来自动生成和部署站点。

创建部署工作流

工作流是由 GitHub Actions 为你运行的一组自动化步骤。 添加一个在每次推送到 main 时都会构建并部署你的网站的配置。

  1. 在存储库中,创建名为 .github/workflows/deploy.yml 的文件。

    1. 在文件列表上方存储库的 stargazers-log 主页上,单击 ,然后单击“ 创建新文件”。
    2. 在“文件名”字段中,键入 .github/workflows/deploy.yml
  2. 添加以下工作流内容。

    YAML
    name: Deploy to GitHub Pages
    
    on:
      push:
        branches:
          - main
    
    permissions:
      contents: read
      pages: write
      id-token: write
    
    jobs:
      deploy:
        runs-on: ubuntu-latest
        environment:
          name: github-pages
          url: ${{ steps.deployment.outputs.page_url }}
        steps:
          - name: Checkout
            uses: actions/checkout@v6
          - name: Setup Pages
            uses: actions/configure-pages@v5
          - name: Upload artifact
            uses: actions/upload-pages-artifact@v4
            with:
              path: '.'
          - name: Deploy to GitHub Pages
            id: deployment
            uses: actions/deploy-pages@v4
    
  3. 将文件直接提交到 main 分支。

了解工作流

工作流的每个部分都有一个要执行的作业:

  • on 指示 GitHub Actions 在每次推送到 main 时运行工作流。
  • permissions 向工作流授予它需要发布到 GitHub Pages的访问权限。
  • **environment**将作业关联到您的GitHub Pages站点,并将已发布的 URL 以${{ steps.deployment.outputs.page_url }}的形式提供。
  • steps 检出代码、准备 GitHub Pages、将文件作为构件上传,并将其部署到线上站点。

查看已上线的网站

提交工作流后, GitHub Actions 会自动运行它。

  1. 在存储库中,单击“ 操作 ”选项卡以监视工作流运行。
  2. 单击最新的工作流运行以查看作业详细信息的摘要。
  3. 运行完成后,在以下位置打开已发布站点https://YOUR-USERNAME.github.io/stargazers-log/。 将 YOUR-USERNAME 替换为你的用户名。
    • 例如,如果GitHub帐户用户名为octocat,则站点位于https://octocat.github.io/stargazers-log/

从现在起,每次推送到 main 都会根据你的最新更改重新部署你的站点。

你构建的内容

在此系列中,你构建了一个完整的软件项目并练习了 GitHub 工作流:

阶段你学到的内容
创建软件项目存储库、自述文件
规划工作问题,项目(项目板)
在本地连接
GitHub Desktop,克隆
编写和存储代码分支、提交、拉取请求、 Copilot
查看更改拉取请求评审, Copilot
自动部署
GitHub Actions、GitHub Pages

后续步骤

  • 加深你对 Git 和 GitHub 的理解。 有关详细信息,请参阅“Git 和GitHub学习资源”。
  • 浏览 副驾驶聊天 以更快地学习,并在编写代码时获得帮助。 有关详细信息,请参阅 文档。
  • 更深入地了解 AI,并了解代理如何像实际编码合作伙伴一样行事,将想法转化为可操作的小步骤、生成示例以及处理重复工作。 有关详细信息,请参阅 文档。
  • 进一步了解如何使用 GitHub Actions 工作流自动化软件项目。 有关详细信息,请参阅“了解GitHub Actions”。
  • 添加自定义域名,或探索通过 GitHub Pages 发布网站的更多方式。 有关详细信息,请参阅“GitHub Pages 入门”。