如何在github操作中设置或更改全局变量?

问题描述 投票:0回答:1

我有一个 github 操作:

name: Test

on:
 workflow_dispatch:

env:
  PREX: false
  

jobs:
  build:
    runs-on: windows-latest    
    steps:
    - uses: actions/checkout@v4
   
    - name: Say Hi
      run: |
        # Print the PREX environment variable
        echo "${{ env.PREX }}"

    - name: Say Hi2  
      if: contains(steps.get-version.outputs.version-suffix, 'beta')
      run: |
        echo "PREX=true" >> $GITHUB_ENV

    - name: Say Hi3
      run: |
        # Print the PREX environment variable
        echo "${{ env.PREX }}"

如果我的条件为真,我想将 Prex 变量值更改为 true。但每次我检查它的值都是假的。当我在 Hi3 部分打印它时,我期望得到一个真实值,因为我在 Hi2 部分更改了它的值。我可以确认我的 if 条件工作正常(我可以使用 exit 1 命令并且工作流程将被取消,因此 if 语句工作正常但 Prex 值未设置/更改) 为了简单的代码,我删除了其他代码。

github github-actions workflow
1个回答
0
投票

您正在 Windows 上使用 Powershell。您需要使用

$env:GITHUB_ENV
来引用它,或者设置
shell: bash
来代替。

      run: |
        echo "PREX=true" >> $env:GITHUB_ENV

      shell: bash
      run: |
        echo "PREX=true" >> $GITHUB_ENV

  build:
    runs-on: ubuntu-latest
© www.soinside.com 2019 - 2024. All rights reserved.