Github Actions内で現在のブランチを取得するにはどうすればいいですか? 質問する

Github Actions内で現在のブランチを取得するにはどうすればいいですか? 質問する

Github Actions を使用して Docker イメージを構築しており、ブランチ名でイメージにタグを付けたいと考えています。

変数は見つかりましたGITHUB_REFが、結果は となりrefs/heads/feature-branch-1、必要なのは だけですfeature-branch-1

ベストアンサー1

$GITHUB_HEAD_REF/ ¹からブランチ名を抽出するための別のステップ$GITHUB_REF(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 }}

 


¹ (pr) および$GITHUB_HEAD_REFについて。説明:pull_request$GITHUB_REFpush

変数 説明
GITHUB_HEAD_REF ワークフロー実行におけるプル リクエストのヘッド参照またはソース ブランチ。このプロパティは、ワークフロー実行をトリガーするイベントが または の場合にのみ設定されますpull_requestpull_request_targetたとえば、 ですfeature-branch-1。(ソース
GITHUB_REF ワークフローの実行をトリガーしたブランチまたはタグの完全な形式の参照。 によってトリガーされたワークフローの場合push、これはプッシュされたブランチまたはタグの参照です。 によってトリガーされたワークフローの場合pull_request、これはプル リクエストのマージ ブランチです。 によってトリガーされたワークフローの場合release、これは作成されたリリース タグです。 その他のトリガーの場合、これはワークフローの実行をトリガーしたブランチまたはタグの参照です。 これは、イベント タイプでブランチまたはタグが使用できる場合にのみ設定されます。 指定された参照は完全な形式です。つまり、ブランチの場合の形式は 、refs/heads/<branch_name>プル リクエストの場合の形式はrefs/pull/<pr_number>/merge、タグの場合の形式は ですrefs/tags/<tag_name>。 たとえば、ですrefs/heads/feature-branch-1。(ソース

これらとその他すべての詳細な説明デフォルトの環境変数 - Gihtub アクションを学ぶアーカイブされたコピー)。

という名前のMicrosoft Githubアクションコンテキストをお探しですかgithub答えによるイスファランおよび/または答えによるドゥシャン・プラヴァク

おすすめ記事