주뇽's 저장소
[Git hub Action]Chat GPT AI를 이용한 GitHub 코드 리뷰어 사용 방법 본문
개인 프로젝트를 진행하면서 코드를 작성하고 나면 누군가에게 피드백을 받고 싶은데, 마땅히 물어볼 사람이 없을 때가 있다. 특히 혼자 개발을 하다 보면 이런 상황이 자주 생긴다.
이때 Chat GPT API를 이용해서 코드 리뷰를 자동으로 해주는 AI 코드 리뷰어라는 걸 알게 됐다. GitHub에서 사용할 수 있는 이 도구는 내가 작성한 코드를 분석해주고 개선할 점을 알려준다. 처음에는 그저 신기해서 써봤는데, 의외로 꽤 쓸만하더라.
이 글에서는 내가 사용해본 GitHub Actions의 AI 코드 리뷰어에 대해 간단히 소개하려고 한다.
AI Code Reviewer는 GitHub Actions를 통해 코드 리뷰 프로세스를 자동화하는 도구다. OpenAI의 GPT 모델을 사용하여 코드를 분석하고, 잠재적인 문제점이나 개선 사항을 제안한다. 이를 통해 개발자는 코드 품질을 높이고, 코드 리뷰 시간을 단축할 수 있다.
주요 기능
- 자동 코드 리뷰: Pull Request가 생성되거나 업데이트될 때 자동으로 코드 리뷰를 수행한다.
- GPT 모델 사용: OpenAI의 GPT-4 모델을 사용하여 코드의 문제점을 분석하고, 코드 품질을 높이기 위한 제안을 제공한다.
- 설정 가능: YAML 설정 파일을 통해 리뷰할 파일의 종류나 제외할 파일을 지정할 수 있다.
- GitHub 통합: GitHub Actions와 통합되어, 코드 리뷰 결과를 GitHub Pull Request의 주석으로 표시한다.
0. AI 코드 리뷰어 Fork
AI 코드 액션을 사용하기 위해서는 AI 코드 리뷰어 repository를 Fork해서 자신의 Github repo에 생성해야 한다. 이 때 해당 repo 이름은 ai-code-reviewer로 바꿔야 yaml파일이 정상적으로 인식한다.
https://github.com/freeedcom/ai-codereviewer
1. OpenAI API Key 발급
https://openai.com/index/openai-api/
위 링크에 접속해서 API Key를 발급
2. Git hub Action에서 OPENAI_API_KEY 사용방법
https://docs.github.com/ko/actions/security-guides/using-secrets-in-github-actions
#-- 참고 개인 레포가 아닌 조직 레포의 경우에는 금액을 내고 업그레이드 해야하는듯!
1. GitHub.com에서 리포지토리의 기본 페이지로 이동(자신이 코드 리뷰어를 등록하고 싶은 레포지토리)
2. 리포지토리 이름 아래에서 Settings(설정)를 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭
3. 사이드바의 "보안" 섹션에서 비밀 및 변수를 선택하고 작업을 클릭
4. 이름 필드에 비밀의 이름을 입력
- Name에는 OPENAI_API_KEY로 고정해야 한다.
- Secreat에는 발급받은 Key를 넣어주면 된다
5. 깃허브 레포지토리에 해당 코드 작성
- 깃허브 루트 디렉토리에서 아래 경로에 yaml파일을 만들어서 해당 코드 작성
- uses : your-username 부분에는 자신의 github name을 넣어주면 된다.
- ex) 자신의 username이 junyong1111이라면 -> junyong1111/ai-code-reviewer@main
0번 파트에서 fork 뜬 repository에 연결하는것 같다!
#-- .github/workflows/main.yml
name: AI Code Reviewer
on:
pull_request:
types:
- opened
- synchronize
permissions: write-all
jobs:
review:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: AI Code Reviewer
uses: your-username/ai-code-reviewer@main
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # The GITHUB_TOKEN is there by default so you just need to keep it like it is and not necessarily need to add it as secret as it will throw an error. [More Details](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret)
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_API_MODEL: "gpt-4" # Optional: defaults to "gpt-4"
exclude: "**/*.json, **/*.md" # Optional: exclude patterns separated by commas
이제 해당 내용을 반영하면 아래와 같이 PR를 날리면 AI 코드 리뷰어가 자동으로 리뷰를 진행해준다!
'Git' 카테고리의 다른 글
[Git Action] AWS-Lambda 배포 자동화 하기 (0) | 2024.08.02 |
---|---|
Markdown이란 (0) | 2023.08.19 |
Git 기본 사용법 (0) | 2023.07.03 |