如何在作业之间传递作业级别环境变量 - Github Actions

Ash*_*har 1 github environment-variables github-actions

我想阅读var1=goodmainjob2 的内部内容,但是,它没有打印。

name: Main Workflow

on:
  push:
    branches:
      - main

jobs:
  mainjob1:
    runs-on: ubuntu-latest

    steps:
      - name: Set Variable
        run: |
          echo "var1=good" >> $env:GITHUB_ENV

  mainjob2:
    needs: mainjob1
    runs-on: ubuntu-latest

    steps:

      - name: Access Variable
        run: |
          echo "var1=${{ env.var1 }}"
Run Code Online (Sandbox Code Playgroud)

我需要访问变量步骤的帮助。

我尝试了以下方法,但没有一个起作用。

          echo "var1=${{ needs.mainjob1.env.var1 }}"
          echo "var1=${{ needs.mainjob1.output.env.var1 }}"
Run Code Online (Sandbox Code Playgroud)

Mar*_*ari 5

尝试这个:

name: Main Workflow

on:
  push:
    branches:
      - main

jobs:
  mainjob1:
    runs-on: ubuntu-latest
    outputs:
      var1: ${{ steps.set_var.outputs.var1 }}
    steps:
      - name: Set Variable
        id: set_var
        run: |
          echo "var1=good" >> $GITHUB_OUTPUT

  mainjob2:
    needs: mainjob1
    runs-on: ubuntu-latest

    steps:

      - name: Access Variable
        run: |
          echo "var1=${{ needs.mainjob1.outputs.var1 }}"
Run Code Online (Sandbox Code Playgroud)