GitHub Actions를 사용하여 Pull Request를 master에 병합하면 자동으로 태그를 친다.
7400 단어 자동화GitHubActions
소개
Git 태그를 매번 수동으로 하고 있었지만, 먼지도 쌓이면 산이 되어 시간 삭감을 위해 자동화했습니다. 어떤 CI 서비스를 사용해도 구현은 가능했습니다만, GitHub Actions를 사용하면 자주 흔한 환경 변수의 설정 없이 간단하게 도입할 수 있었으므로 소개합니다. 비슷한 기사도 이미 있지만 개인 메모로 남기기 때문에 양해 바랍니다.
실현하고 싶은 것
release-%Y%m%d%H%M
의 서식으로 하고 싶다. 이 근처는 기호로.설정 방법
대상 GitHub 리포지토리에서 다음 내용의 파일을
.github/workflows/release_tag.yml
에 배치하고 커밋하고 끝입니다!name: Release Tag
on:
pull_request:
branches:
- master
types: [closed]
jobs:
build:
name: Create Release
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set current date
id: current_date
env:
TZ: 'Asia/Tokyo'
run: echo "current_date=$(date +'%Y%m%d%H%M')" >> $GITHUB_ENV
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: release-${{ env.current_date }}
release_name: release-${{ env.current_date }}
draft: false
prerelease: false
이후 Pull Request가 병합되면 다음과 같이 태그가 지정됩니다!
보충
워크플로 트리거 설정
다음은 "master 브랜치에 대한 풀 요청을 닫으면 실행"을 설정합니다.
types
에서 액티비티 유형(무엇을 트리거로 발화할 것인가)을 선택할 수 있습니다만, closed
사실은 여기서 merged
가 선택하고 있으면 좋지만, 왜 안 되는군요.on:
pull_request:
branches:
- master
types: [closed]
Pull Request를 병합했을 때만 발화시킨다
types: [closed]
뿐이라면 병합하지 않고 닫은 것만으로도 발화해 버리므로, 이하를 설정하는 것으로 Pull Request 를 병합했을 때만 작업이 실행되도록(듯이) 합니다.if: github.event.pull_request.merged == true
날짜와 시간을 포함한 릴리스 태그 이름 만들기
release-202102192100
같이 날짜와 시간을 포함한 릴리스 태그명을 이하로 작성해 환경 변수에 등록하고 있습니다. 포인트는 타임 존 설정입니다. 이것이 없으면 UTC가되어 버리므로 잊지 마세요 ~! (처음에는 눈치 채지 못했지만 ... - name: Set current date
id: current_date
env:
TZ: 'Asia/Tokyo'
run: echo "current_date=$(date +'%Y%m%d%H%M')" >> $GITHUB_ENV
출시 태그를 등록하도록 허용
공식적으로 제공되는
actions/create-release@v1
액션을 이용하면 간단합니다. tag_name
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: release-${{ env.current_date }}
release_name: release-${{ env.current_date }}
draft: false
prerelease: false
링크
Reference
이 문제에 관하여(GitHub Actions를 사용하여 Pull Request를 master에 병합하면 자동으로 태그를 친다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hypermkt/items/43da3343eced966e163e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)