在 GitHub Workflow 中,我正在寻找一个内置变量,其中包含当前 GH 部署环境的名称(例如
"staging"
),或者如果不存在这样的东西,则为空白/未设置。
由于它似乎没有内置变量(也许我忽略了它?),是否有另一种方法可以从within管道步骤获取该值?
这是一个示例工作流程:
jobs:
job1:
runs-on: ubuntu-latest
environment: uat
steps:
- name: 'Print name'
run: echo "GH deployment env : ..."
job2:
runs-on: ubuntu-latest
environment: staging
steps:
- name: 'Print name'
run: echo "GH deployment env : ..."
我尝试了不同的方法,但唯一有效的方法是使用矩阵配置。
https://docs.github.com/en/actions/learn-github-actions/contexts#matrix-context
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on:
push:
workflow_dispatch:
jobs:
Deploy-DEV:
runs-on: ubuntu-latest
strategy:
matrix:
environment: [DEV]
steps:
- run: echo "💡 Deploying to ${{ matrix.environment }}."
Deploy-QA:
runs-on: ubuntu-latest
needs: Deploy-DEV
strategy:
matrix:
environment: [QA]
steps:
- run: echo "💡 Deploying to ${{ matrix.environment }}."