关于环境
环境用于描述一般的部署目标,例如 production
、staging
或 development
。当 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