GitHub 操作集 $GITHUB_ENV 未保存

标签 github github-actions

根据找到的文档 here ,我尝试设置 GitHub Action 环境变量,但注意到环境变量似乎没有保存。这是否已被弃用,或者文档/我的实现是否不正确?

- name: Get Gradle VersionName
  working-directory : ${{ github.workspace }}/app
  run : |
    echo "Get Gradle VersionName"
    echo "action_state=yellow" >> $GITHUB_ENV
    echo "${{ env.action_state }}"
    grep 'versionName' build.gradle | awk '{print $2}'

enter image description here

最佳答案

此行为是预期的,因为“创建或更新环境变量的步骤无法访问新值,但作业中的所有后续步骤都可以访问。”(documentation )

为了说明,请考虑以下步骤定义:

steps:
   - name: Step 1
     run: |
        echo "action_state=yellow" >> $GITHUB_ENV
        echo "State is: '${{ env.action_state }}'" # No output since same step
   - name: Step 2
     run: |
        echo "State is: '${{ env.action_state }}'" # Output works

导致此输出:

result

关于GitHub 操作集 $GITHUB_ENV 未保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71333335/

相关文章:

linux - 在Linux服务器上设置git

git - 如何使用 github token 或 ssh key 设置 Git Bash (msysgit)

git - 为新存储库创建初始 wiki

java - GHA 中的单元测试因 java.lang.IllegalArgumentException : Unsupported class file major version 55 失败

github-actions - 如何从工作流程将 success() 或 failure() 传递给 github 操作

python - 如何通过 Github API 更新 pull 请求

git - 应该如何处理与 Git 存储库相关的媒体 Assets ?

GitHub 发布、多个文件和版本控制

GitHub Actions 从 API 获取以创建拉取请求

ubuntu - .net 核心站点在 ubuntu 上部署后未更新