gpt4 book ai didi

github - 如何在 Github Actions 中获取当前分支?

转载 作者:行者123 更新时间:2023-12-02 00:08:29 37 4
gpt4 key购买 nike

我正在使用 Github Actions 构建 Docker 镜像,并希望使用分支名称来标记镜像。

我找到了GITHUB_REF变量,但结果是 refs/heads/feature-branch-1我只需要 feature-branch-1 .

最佳答案

我添加了一个单独的步骤,用于从 $GITHUB_HEAD_REF/$GITHUB_REF 1(pr 和 push)中提取分支名称,并将其设置为步骤输出:

- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch

之后,我可以在接下来的步骤中使用 steps.<step_id>.outputs.branch 来使用它:

- name: Push to ECR
id: ecr
uses: jwalton/gh-ecr-push@master
with:
access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
region: us-west-2
image: eng:${{ steps.extract_branch.outputs.branch }}

 

<小时/>

¹ $GITHUB_HEAD_REF 上的 pull_request (pr) 和 $GITHUB_REF 上的 push 。说明:

<表类=“s-表”><标题>变量描述 <正文> GITHUB_HEAD_REF 工作流运行中拉取请求的头引用或源分支。仅当触发工作流运行的事件为 pull_requestpull_request_target 时,才会设置此属性。例如, feature-branch-1 。 ( source) GITHUB_REF 触发工作流运行的分支或标签的完整引用。对于由 push 触发的工作流程,这是推送的分支或标签引用。对于 pull_request 触发的工作流程,这是拉取请求合并分支。对于由 release 触发的工作流程,这是创建的发布标签。对于其他触发器,这是触发工作流运行的分支或标记引用。仅当分支或标签可用于事件类型时才设置此值。给出的引用是完全形成的,这意味着对于分支,格式为 refs/heads/<branch_name> ,对于拉取请求,格式为 refs/pull/<pr_number>/merge ,对于标签,格式为 refs/tags/<tag_name> 。例如, refs/heads/feature-branch-1 。 ( source)

这些以及所有其他 Default environment variables - Learn Gihtub Actions ( archived copy ) 的完整描述。

正在寻找名为 github 的 Microsoft Github 操作上下文吗?请参阅 answerysfaran 和/或 answerDusan Plavak

关于github - 如何在 Github Actions 中获取当前分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58033366/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com