gpt4 book ai didi

git - 在 GitHub 操作中获取当前分支并提交哈希

转载 作者:行者123 更新时间:2023-12-04 11:05:18 34 4
gpt4 key购买 nike

我想使用从 TeamCity 迁移的 GitHub 操作构建 docker 镜像。

在构建脚本中,我想用分支和提交的组合来标记图像,例如master.ad959de .在本地测试,我得到这样的信息:

git_branch=`git symbolic-ref --short HEAD`
git_hash=`git rev-parse --short HEAD`
docker_version=${git_branch}.${git_hash}

这是 GitHub 操作的相关部分:
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1

- name: Create docker image
run: ./docker-build.sh


在该 GitHub 操作中运行该脚本会导致此错误:
fatal: ref HEAD is not a symbolic ref

如何在 GitHub 操作中生成这样的标签?

最佳答案

来自 Using environment variables
github 提供了两个在这里很有用的变量,你需要对它们进行一些处理以获得你想要的值:

GITHUB_SHA: The commit SHA that triggered the workflow. For example, ffac537e6cbbf934b08745a378932722df287a53.


GITHUB_REF: The branch or tag ref that triggered the workflow. For example, refs/heads/feature-branch-1. If neither a branch or tag is available for the event type, the variable will not exist.


可以像这样提取短值:
git_hash=$(git rev-parse --short "$GITHUB_SHA")
git_branch=${GITHUB_REF#refs/heads/}

关于git - 在 GitHub 操作中获取当前分支并提交哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58886293/

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