はじめに
こんにちは。新卒2年目の岡崎です。今回は、GitHub Actionsでプルリクエストがマージされた時、自動的にGitタグをつける方法を紹介します。
また、この記事はGitHub Actionsのことがあまり分からない初心者向けの記事になっております。
実装
実装例を紹介します。
workflows配下にYAMLファイルを作成し、実装を行います。
. ├─ .github └─workfrows
実際に実装したYAMLファイルは以下です。
name: Git tag | Create run-name: ${{ github.workflow }} 【${{ github.ref_name }}】 on: pull_request: branches: - main types: [closed] jobs: build: if: github.event.pull_request.merged == true runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: fetch-depth: '0' - name: Bump version and push tag uses: anothrNick/github-tag-action@1.67.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DEFAULT_BUMP: ${{ ((contains(github.event.pull_request.head.ref, 'bugfix') || contains(github.event.pull_request.head.ref, 'hotfix')) && 'patch') || 'minor' }} WITH_V: true RELEASE_BRANCHES: main INITIAL_VERSION: v0.0.0
実装例の大まかな解説を行います。
name
name
ではワークフローの名前を決定します。またrun-name
では、ワークフロー実行履歴一覧のrunのタイトル部分を自由に指定することができます。
on
on
では、いつ実行するのか決定することができます。
今回は、プルリクエストがマージされたタイミングでGitタグを自動的に作成したいので、on
以下の実装が
on: pull_request: branches: - main types: [closed]
となっています。
jobs
ここでは指定した処理を実行します。
jobは一つ以上のstepで構成します。今回の実装だと以下のようになります。
steps: - uses: actions/checkout@v3 with: fetch-depth: '0' - name: Bump version and push tag uses: anothrNick/github-tag-action@1.67.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DEFAULT_BUMP: ${{ ((contains(github.event.pull_request.head.ref, 'bugfix') || contains(github.event.pull_request.head.ref, 'hotfix')) && 'patch') || 'minor' }} WITH_V: true RELEASE_BRANCHES: main INITIAL_VERSION: v0.0.0
Gitタグの付与を自動化する方法として様々な方法がありますが、今回はgithub-tag-actionを導入しました。
実装が終わったら、最後にプルリクエストをマージします。(今回のケースではプルリクエストのマージですが、YAMLファイルに行った実装に合わせて確認を行ってください。)
プルリクエストがマージされた時にGitタグが作れていれば、完了です。
ただし、Gitタグを最初に作る場合、手動で作る必要があるので注意をしてください。
最後に
今回は、GitHub Actionsでプルリクエストがマージされた時に自動的にGitタグをつける方法について紹介しました。いつも何気なく使っているものかもしれませんが、案外調べてみると知識が整理されました。
最後に、エキサイトではデザイナー、フロントエンジニア、バックエンドエンジニア、アプリエンジニアを絶賛募集しております。
興味があればぜひぜひ連絡ください!