Github 작업 및 짧은 SHA 해시 생성

3809 단어 github
이것은 특정 빌드에 대한 Github 작업에서 짧은 git 커밋 SHA 해시를 실제로 생성하는 방법에 대해 나 자신(및 다른 사람)을 위한 일종의 알림으로 빠른 게시물이 될 것입니다.

git commit 해시는 여러 가지 이유로 중요합니다.



git commit SHA 해시는 릴리스에 태그를 지정하고 특정 시점의 코드 상태를 파악하는 데 유용합니다.

git commit SHA 해시도 매우 깁니다(예: 9c1e1a7f8f3827b11fb9eb34ab0a21afde30e19c). 때로는 엔지니어로서 첫 번째 6자만 알면 되고 코드가 어느 시점에 있는지 알기에 충분합니다.


Github는 한동안 짧은 커밋 SHA 해시를 제공했지만 더 이상 제공하지 않습니다.



Github depreciated the Short SHA environment variable in January, 2021

git commit SHA를 단축하려는 경우 어떤 것을 단축할 계획입니까? github.event.pull_request_head.sha for certain workflows 또는 specific run을 트리거한 이벤트에 따라 github.sha가 필요할 수 있습니다.


짧은 git 커밋 SHA 해시 생성에 대한 내 솔루션




- name: Set short git commit SHA
  id: vars
  run: |
    calculatedSha=$(git rev-parse --short ${{ github.sha }})
    echo "::set-output name=short_sha::$calculatedSha"

- name: Confirm git commit SHA output
  run: echo ${{ steps.vars.outputs.short_sha }}



이것이 Stackoverflow에 있는 것과 어떻게 다른가요?



this particular Stackoverflow post에 대해 성가신 점은 언급된 솔루션 중 어느 것도 이 게시물을 작성하는 시점에서 정확하지 않다는 것입니다.

run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)"


Github Action 실행기의 컨텍스트에서 선언되는 항목HEAD을 정확히 모르기 때문에 작동하지 않습니다.

echo "::set-output name=sha_short::$(git rev-parse --short ${{ github.event.pull_request.head.sha }})"


you can't use "" double-quotes when referencing ${{ }} tags 때문에 작동하지 않습니다. 그러나 '' 작은따옴표를 사용하여 이 표현식을 래핑하더라도 결과적으로 sha_short는 git commit SHA의 문자열과 같지 않지만 다음과 같은 표현식입니다.

$(git rev-parse --short ${{ github.event.pull_request.head.sha }})


따라서 나중에 실행에서 sha_short를 사용할 때마다 전체 표현식을 다시 실행해야 합니다(원하는 것을 반환하지만 표현식을 다시 실행할 필요가 없으며 대신 저장하는 것이 좋습니다). 가치).

이것이 git commit SHA 해시를 단축하는 간단한 방법을 찾으려는 다른 사람에게 도움이 되기를 바랍니다. 적어도 지금은!

좋은 웹페이지 즐겨찾기