GitHub Actions - 如何在作业级别使用环境变量?

6

我想在作业级别上使用环境变量,有办法实现吗?

env:
  stageEnv: UAT

jobs:
  name: Upload Build
  if: ${{ env.stageEnv == 'UAT' }}
  steps:
    ....

我遇到了“未识别的命名值:'env'”错误。尝试使用 $stageEnv 和 ${{ env.stageEnv }}。

注意:当我在 'steps' 中访问时可以运行,但是我希望能够在 'jobs' 级别访问。

1个回答

1

很抱歉,但您可以这样做:

env:
  stageEnv: UAT

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest         
    outputs:
      stageEnv: ${{ steps.init.outputs.stageEnv }}
    
    steps:        
      - name: Make environment variables global 
        id: init
        run: |
          echo "stageEnv=${{ env.stageEnv }}" >> $GITHUB_OUTPUT

并在另一份工作中使用它:

  upload:
    name: Upload build
    needs: build
    if: ${{ needs.build.outputs.stageEnv == 'UAT' }}

请注意,这只是一个例子,我个人更喜欢将环境变量大写,输出变量小写。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接