주뇽's 저장소

[Git hub Action]Chat GPT AI를 이용한 GitHub 코드 리뷰어 사용 방법 본문

Git

[Git hub Action]Chat GPT AI를 이용한 GitHub 코드 리뷰어 사용 방법

뎁쭌 2024. 7. 24. 01:47
728x90
반응형

개인 프로젝트를 진행하면서 코드를 작성하고 나면 누군가에게 피드백을 받고 싶은데, 마땅히 물어볼 사람이 없을 때가 있다. 특히 혼자 개발을 하다 보면 이런 상황이 자주 생긴다.

이때 Chat GPT API를 이용해서 코드 리뷰를 자동으로 해주는 AI 코드 리뷰어라는 걸 알게 됐다. GitHub에서 사용할 수 있는 이 도구는 내가 작성한 코드를 분석해주고 개선할 점을 알려준다. 처음에는 그저 신기해서 써봤는데, 의외로 꽤 쓸만하더라.

 
이 글에서는 내가 사용해본 GitHub Actions의 AI 코드 리뷰어에 대해 간단히 소개하려고 한다.
 

Pull Request 요청시 자동으로 코드 리뷰를 진행해준다.

AI Code Reviewer는 GitHub Actions를 통해 코드 리뷰 프로세스를 자동화하는 도구다. OpenAI의 GPT 모델을 사용하여 코드를 분석하고, 잠재적인 문제점이나 개선 사항을 제안한다. 이를 통해 개발자는 코드 품질을 높이고, 코드 리뷰 시간을 단축할 수 있다.

주요 기능

  1. 자동 코드 리뷰: Pull Request가 생성되거나 업데이트될 때 자동으로 코드 리뷰를 수행한다.
  2. GPT 모델 사용: OpenAI의 GPT-4 모델을 사용하여 코드의 문제점을 분석하고, 코드 품질을 높이기 위한 제안을 제공한다.
  3. 설정 가능: YAML 설정 파일을 통해 리뷰할 파일의 종류나 제외할 파일을 지정할 수 있다.
  4. 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

GitHub - freeedcom/ai-codereviewer: AI Code Reviewer: Enhance your GitHub workflow with AI-powered code review! Get intelligent

AI Code Reviewer: Enhance your GitHub workflow with AI-powered code review! Get intelligent feedback and suggestions on pull requests using OpenAI's GPT-4 API, improving code quality and saving...

github.com

해당 링크에 접속해서 레포지토리 Fork
Repository name을 ai-code-reviewer로 변경

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

GitHub Actions에서 비밀 사용 - GitHub Docs

비밀을 사용하면 중요한 정보를 조직, 리포지토리 또는 리포지토리 환경에 저장할 수 있습니다.

docs.github.com

#-- 참고 개인 레포가 아닌 조직 레포의 경우에는 금액을 내고 업그레이드 해야하는듯!
 

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