Github Actions - PR 생성 자동화하기
목차
PR 생성 자동화
오늘은 Github에서 Github Actions
를 이용하여 Pull Request(PR)을 자동으로 생성하는 방법에 대해 포스팅 해보려고합니다. Github Actions를 이용하면 아주 쉽게 그것을 가능하게 만들수 있습니다. Github Actions에 많은 기능들이 있으니까요!
귀찮은 PR 생성
이 글을 작성하게 된 계기가 있습니다.
우선 이 블로그는 MDX
로 작성하는 블로그이고 Vercel
에서 호스팅되고 있습니다. 모든 코드는 이 블로그를 개발한 아내의 계정에서 관리되고 있습니다.
Vercel
무료 버젼에서는 Organization에 연결이 안되더군요.
제가 작성한 글을 포스팅하기 위해서는 다음과 같은 프로세스를 따릅니다.
- 글 작성
- Branch 생성 후 커밋
- Github Push
- PR 생성
- Merged by Wife
글 쓰고 나서 매번 PR만드는게 너무 귀찮아서 자동화 해버렸습니다.
YML 만들기
Market Place에 이미 이것을 쉽게 만들수 있도록하게 Action이 존재합니다. 그냥 그것을 사용하면 됩니다.
다음과 같이 작성했습니다.
name: Automatically create PR
on:
push:
branches:
- mingke/*
jobs:
create-pr:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GH_TOKEN }}
commit-message: Create PR with changes
base: main
branch: ${{ github.ref }}
assignees: kec0130
title: BLOG POST UPDATE
body: 블로그 업데이트 되었습니다. 확인해주세용.
위에서 몇 가지만 설명하도록 하겠습니다.
${{ secrets.GH_TOKEN }}
: Repo에서 PR을 생성하기 위해서 Access Token이 필요합니다.base: main
: PR을 어디로 날릴 것인가?branch: ${{ github.ref }}
: push한 브랜치 이름입니다. 브랜치명을mingke/
로 사용하고 있습니다.
assignees
를 지정하여 아내에게 알림이 가도록 합니다.
아래 링크에서 자세한 사용법을 찾아 볼 수 있습니다.
Github Token 받기
Github을 사용하는 분들은 다 아시겠지만 다음과 같이 이동해서 Token을 생성합니다.
Github 프로필 선택 → Settings → Developer Setting → Personal Access Tokens → Fine-grained personal access tokens
스크롤을 내리다보면 Repository access
가 있습니다. 초기값은 Public Repositories
로 되어 있는데 All repositories
나 Only select repositories
를 선택하여 주세요.
스크롤 내리다보면 나오는 Repository permissions
를 선택하고
Pull requests
를 Read and write
로 변경합니다.
그리고 Generate token
을 합니다. 생성된 토큰을 secrets
에 추가해줍니다.
GH_TOKEN
보이시죠? (참고: secrets에 GITHUB_ 으로 시작하는 이름은 사용할 수 없음)
마무리
귀찮음으로 인하여 PR 자동화를 만들어보았습니다. PR뿐 아니라 Github에서 이루어지는 다양한 동작들을 자동화할 수 있습니다.(PR, Issue 생성 등)