【问题标题】:How to get branch name in a Github Action Shell script如何在 Github Action Shell 脚本中获取分支名称
【发布时间】:2022-01-12 23:24:01
【问题描述】:

我正在尝试创建一个输出以供稍后在工作中使用。

但是,由于某种原因,BRANCH 环境变量(我将成为 GITHUB_REF_NAME)是一个空字符串,而 according to the docs 应该是分支。

同样使用变量直接产生相同的结果。

      - name: Set Terraform Environment Variable
        id: set_tf_env
        env:
          BRANCH: ${{env.GITHUB_REF_NAME}}
        run: |
          if [ "$BRANCH" == "dev" ]; then
              run: echo "::set-output name=TF_ENV::dev"
              elif [ "$BRANCH" == "prod" ]; then
              run: echo "::set-output name=TF_ENV::prod"
          else
              echo "Branch has no environment"
              exit 1
          fi

【问题讨论】:

  • 在 github 操作中有一个上下文变量,您可以使用它来获取分支名称:github.ref。例如,对于dev 分支,您可以在步骤级别使用条件,如下所示:if: github.ref == 'refs/heads/dev
  • 您是否尝试实际打印出这个变量?如果我没记错的话,它以 refs/heads 开头,很可能您的比较不正确,但变量本身不应为空。
  • @taleodor 还有github.ref_name
  • 也许你应该看看这个文档,我认为它解释得很好:docs.github.com/en/actions/learn-github-actions/…

标签: yaml github-actions


【解决方案1】:

所以经过更多的研究并感谢 cmets,我发现它无法正常工作的原因是我没有提及的拉取请求,所以我最终使用的是

github.event.pull_request.head.ref

【讨论】:

    猜你喜欢
    • 2020-04-10
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 2022-06-16
    • 1970-01-01
    • 2020-08-07
    相关资源
    最近更新 更多