오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-10 00:03
관리 메뉴

우노

[Github Actions] Branch Merge 시 Tag/Release 자동 생성 본문

DevOps/GitHub

[Github Actions] Branch Merge 시 Tag/Release 자동 생성

운호(Noah) 2023. 3. 8. 16:14

들어가기 앞서,

  • repository의 버전을 tag를 통해 관리하고 있을 경우, 업데이트(merge)마다 수동으로 tag를 생성한다면 매우 번거로운 작업이 됩니다.
  • 따라서, 해당 포스트에서는 Github Actions을 활용해, Main Branch Merge 시 Tag/Release를 자동으로 생성하는 방법을 다뤄보겠습니다.

자동화 방법

  • 해당하는 Repo의 .github/workflows 폴더에, 아래 yml 파일을 저장하면 됩니다.

      name: Release Tag
    
      on:
        push:
          branches:
            - main # main branch로 push될 때 아래 action이 실행됩니다.
    
      jobs:
        build:
    
          runs-on: ubuntu-latest
    
          steps:
    
            # 깃헙 코드 내려받기
            - uses: actions/checkout@v2
    
            # 태그 생성
            - name: Bump version and push tag
              id: tag_version
              uses: mathieudutour/github-tag-action@v5.5  # 가져다 쓸 auto tagging 프로그램
              with:
                github_token: ${{ secrets.GITHUB_TOKEN }} # secrets.GITHUB_TOKEN 는 자동생성됨
    
            # 릴리즈 생성
            - name: Create Release
              id: create_release
              uses: actions/create-release@v1             # 가져다 쓸 create release 프로그램
              env:
                GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # secrets.GITHUB_TOKEN 는 자동생성됨
              with:
                tag_name: ${{ steps.tag_version.outputs.new_tag }}
                release_name: Release ${{ steps.tag_version.outputs.new_tag }}
                body: ${{ steps.tag_version.outputs.changelog }}
    • auto tagging은 repo의 모든 권한을 가지고 있어야 사용 가능합니다.

결과

  • 원하는 내용에 따라 추가적으로 workflow를 수정하시면 됩니다.

참고

Comments