DevOps/깃허브

[Github Actions] Chat GPT(Open AI)로 코드리뷰 자동화 하기

밥빵 2024. 1. 26. 20:47

 

Chat GPT 3.5로 풀리퀘스트 시 코드리뷰 자동화 하기


 

개요

순수 개발기간이 3주인 짧은 프로젝트를 진행하고 있습니다.

팀원끼리 코드리뷰를 하면서 코드 퀄리티를 높이면 좋겠지만 짧은 개발기간 때문에 너무 어렵네요

그래서 PR시 Chat GPT가 코드리뷰를 하면 어떨까라는 생각에 CI 과정에 코드리뷰 자동화를 추가하였습니다.

 

 


Open AI API 키 발급

Open AI API 발급 링크

 

Open AI에서 API 키를 발급 받습니다.
* Private key를 잘 저장하세요!!

 

 

 

 

Github 키 등록

 

Git Actions Workflow에서 사용하기 위해 Github에 발급받은 API 키를 등록합니다.

* Setting -> Secrets and variables -> Actions

 

Enviroment secrets
Github Actions 환경에만 적용이 가능합니다.

Repository secrets
Github Actions을 포함한 Repository 전역에서 사용가능합니다.

 

 

 

 

Workflow 작성

 

Github Actions workflows yml 파일을 작성합니다.

* 파일위치 : .github -> workflows

 

 

 

codeReview.yml

name: Code Review

permissions:
  contents: read
  pull-requests: write

on:
  pull_request:
    types: [opened]
    branches:
      - dev

jobs:
  code-review:
    runs-on: ubuntu-latest
    steps:
      - uses: anc95/ChatGPT-CodeReview@main
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          LANGUAGE: Korean
          MODEL: gpt-3.5-turbo

 

 

permissions: 저장소에 대해 수행할 수 있는 작업을 정의

  • contents: read - 저장소의 컨텐츠를 읽을 수 있는 권한
  • pull-requests: write -풀 리퀘스트 코멘트 작성 권한

 

 

on: 어떤 이벤트에 의해 트리거될지 정의

  • 풀 리퀘스트가 'dev' 브랜치에 열릴 때 워크플로우 실행

 

jobs: 워크플로우 내에서 실행될 작업을 정의.

 

MODEL: gpt-3.5-turbo 사용

 

 

 

 

코드리뷰

dev 브랜치에 Open된 PR에 대해 코드리뷰 코멘트가 잘 작성되었습니다!

 

Open AI Model 별 특징

사용하는 모델 별로 비용이 상이합니다.
확인하시고 사용하세요

* GPT-5 모델은 비싸서 사용하지 않고 3.5 모델을 사용했습니다.

 

Open AI Pricing

비용

약 150회 정도에 PR에 대해서 코드리뷰를 진행한 비용입니다.

비용은 많이 나오지 않네요!