跳至主要内容

使用环境进行部署

在您的工作流中指定部署环境。

关于环境

环境用于描述一般的部署目标,例如 productionstagingdevelopment。当 GitHub Actions 工作流部署到环境时,环境将显示在存储库的主页上。您可以使用环境来要求批准才能继续执行作业,限制哪些分支可以触发工作流,使用自定义部署保护规则控制部署,或限制对密钥的访问。有关创建环境的更多信息,请参阅“管理部署环境”。

工作流中的每个作业都可以引用单个环境。在将引用环境的作业发送到运行器之前,必须先通过为该环境配置的所有保护规则。只有在将作业发送到运行器后,该作业才能访问环境的密钥。

当工作流引用环境时,该环境将显示在存储库的部署中。有关查看当前和以前部署的更多信息,请参阅“查看部署历史记录”。

在工作流中使用环境

您可以为工作流中的每个作业指定一个环境。为此,请添加一个 jobs.<job_id>.environment 密钥,后跟环境的名称。

例如,此工作流将使用名为 production 的环境。

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deployment:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - name: deploy
        # ...deployment-specific steps

当上述工作流运行时,deployment 作业将受 production 环境配置的任何规则约束。例如,如果环境需要审阅者,则作业将暂停,直到其中一位审阅者批准该作业。

您还可以为环境指定一个 URL。指定的 URL 将显示在存储库的部署页面上(通过点击存储库主页上的**环境**访问),以及工作流运行的可视化图中。如果拉取请求触发了工作流,则 URL 也将作为拉取请求时间轴中的**查看部署**按钮显示。

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deployment:
    runs-on: ubuntu-latest
    environment: 
      name: production
      url: https://github.com
    steps:
      - name: deploy
        # ...deployment-specific steps