如何在GitHub Workflow中获取当前部署环境名称?
GitHub Workflow 获取部署环境名称的方法
首先,GitHub Actions 其实提供了内置变量可以直接获取当前 Job 指定的部署环境名称:${{ job.environment }}。这个变量会直接返回 Job 中environment字段设置的值,如果当前 Job 没有配置环境,该变量会为空。
修改你的示例工作流如下:
jobs: job1: runs-on: ubuntu-latest environment: uat steps: - name: 'Print environment name' run: echo "GH deployment env : ${{ job.environment }}" job2: runs-on: ubuntu-latest environment: staging steps: - name: 'Print environment name' run: echo "GH deployment env : ${{ job.environment }}"
如果遇到特殊场景(比如环境通过动态方式设置),还可以通过读取 GitHub 提供的GITHUB_EVENT_PATH对应的 JSON 文件提取环境信息,示例命令如下:
# 从事件文件中提取环境名称,未设置则返回空 echo "GH deployment env : $(jq -r '.environment.name // empty' "$GITHUB_EVENT_PATH")"
注:使用该方法需要确保 Runner 中安装了jq工具,Ubuntu-latest 镜像默认已预装。
内容的提问来源于stack exchange,提问作者peterh
相关产品推荐
相关产品推荐

