0Pricing
DevOps Bootcamp · 课时

部署到预发布环境

设置工作流,自动将应用部署到预发布环境,以便进行生产前测试

部署到预发布环境 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

什么是预发布环境

假设您为应用构建了一个新功能。在向所有人展示它之前(也就是部署到生产环境之前),您需要先在安全且贴近真实情况的环境中进行测试。这时就需要预发布环境了!

预发布环境是生产环境的副本。它用于发布前的最终测试,让您能够发现问题并确保质量,同时不影响线上用户。

预发布环境与生产环境

虽然预发布环境与生产环境相似,但用途不同:

  • 预发布环境:用于质量保证(QA)、用户验收测试(UAT)和最终检查。只有有限的用户群体(测试人员、利益相关者)会与其交互。
  • 生产环境:供所有最终用户使用的线上环境。这里出现的任何问题都会直接影响客户。

先部署到预发布环境,是降低生产环境风险的关键步骤。

GitHub 环境功能

GitHub 的自动化工作流提供了一项名为环境的强大功能。您可以利用这些环境在代码库中定义逻辑环境(例如 staging 或 production)。

环境可以帮助您:

  • 应用保护规则(人工批准、等待计时器)。
  • 管理特定环境的机密。
  • 跟踪针对特定环境的部署。

声明预发布环境

要在工作流中使用环境,您需要先在代码库的设置中定义它:

  • 打开您的 GitHub 代码库。
  • 点击设置 > 环境。
  • 点击新建环境并命名,例如 staging。

您可以在这里添加保护规则,例如要求审阅者批准部署。

基本部署工作流结构

现在,让我们看看如何告知 GitHub 的自动化工作流将应用部署到 staging 环境。您需要在作业中指定环境:

name: Deploy to Staging

on: push

jobs:
  deploy-to-staging:
    runs-on: ubuntu-latest
    environment: staging # This links to your 'staging' environment
    steps:
      - name: Say Hello
        run: echo "Deploying to staging!"

配置环境保护

工作流中的 environment: staging 行不仅用于标记部署。如果您在代码库设置中为 staging 环境设置了保护规则,这些规则也会自动应用。

例如,如果您要求人工批准,作业将暂停,直到获得授权的人员审查并批准部署。

构建您的应用

部署前,您通常需要先构建应用。这可能包括编译代码、运行测试或打包资源。我们会将这些步骤添加到作业中:

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js (Example build step)
        uses: actions/setup-node@v4
        with:
          node-version: '18'

      - name: Install dependencies
        run: npm ci

      - name: Build application
        run: npm run build

部署构建产物

构建完成后,下一步是将应用文件传输到预发布服务器。这通常需要使用 SSH、FTP 或特定于云服务的部署工具。

下面是一个概念性步骤。在真实场景中,您需要将 echo 替换为实际的部署命令:

      - name: Deploy to Staging Server
        run: |
          echo "Simulating deployment to staging..."
          # scp -r ./dist user@staging.example.com:/var/www/html
          # Or use a specific deployment action for AWS, Azure, etc.

汇总:预发布工作流

这个完整的工作流会在向 develop 分支推送代码时触发。它会检出代码、构建应用,然后以示意方式将应用部署到 staging 环境,同时遵守您设置的保护规则。

name: Deploy to Staging Environment

on:
  push:
    branches:
      - develop # Trigger only on pushes to the 'develop' branch

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: staging # Link this job to the 'staging' environment

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js (Example)
        uses: actions/setup-node@v4
        with:
          node-version: '18'

      - name: Install dependencies
        run: npm ci

      - name: Build application
        run: npm run build

      - name: Deploy to Staging Server
        run: echo "Deployment to staging completed!"

预发布部署检查

您已经学习了如何设置 GitHub 的自动化工作流,将应用部署到预发布环境。让我们检验一下您的知识!

回顾:预发布部署

做得很好!您已经学会了如何设置 GitHub 的自动化工作流,将应用部署到预发布环境。

  • 预发布环境是类似生产环境、用于上线前测试的环境。
  • GitHub 的环境有助于管理部署安全性和机密。
  • 工作流使用环境键来指定特定环境。
  • 这一流程可以降低风险,确保更顺利地过渡到生产环境。

接下来,我们将探索如何使用环境变量和机密管理敏感信息!

常见问题解答

「部署到预发布环境」课时是免费的吗?

是的 — 「部署到预发布环境」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「部署到预发布环境」这节课中我会学到什么?

设置工作流,自动将应用部署到预发布环境,以便进行生产前测试 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「部署到预发布环境」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 持续部署简介
  2. 部署到预发布环境
  3. 环境变量与机密信息
  4. 通过审批门部署到生产环境
← 返回 DevOps Bootcamp