본문으로 건너뛰기

GitLab Duo로 개발 생산성 높이기

Fabbro
· 약 15분

오늘날 소프트웨어 개발 업무는 AI의 영향을 받고 있습니다. GitLab은 이러한 영향을 긍정적인 방향으로 발전시키고자 다양한 AI 기능을 선보이는데요. 특히 여러 AI 기능을 한데 모은 ’GitLab Duo’를 제공해 조직이 원활하게 협업하고, 코드를 신속하게 작성하며 리뷰하도록 지원합니다. 이는 업무 생산성과 효율성을 높여 비즈니스 목표를 달성하는 데 도움이 될 수 있습니다. 이 글에서는 GitLab Duo를 활용해 소프트웨어 개발 업무 속도와 편의를 높이는 방법을 알아보겠습니다.

빠른 문제 정의, 협업 지원하는 ‘View summary

개발 업무 여정은 GitLab 이슈로 시작됩니다. 이슈에서는 팀이 협업하고, 아이디어를 논의하며, 브레인스토밍을 진행해 문제와 작업 범위를 규정할 수 있습니다. 어떤 문제를 해결하기 위해 협업하다 보면 여러 의견을 올리느라 이슈 스레드가 길어지는데요. 이에 작업 상태를 빠르게 파악하기 어려울 수 있죠. 문제를 처음 접하는 사람이나 기존 참여자조차 문제 상태와 결정 사항을 파악하려면 댓글을 읽는 데 상당한 시간을 할애해야 합니다.

GitLab은 AI 기반 기능인 ‘View summary(요약 보기)’로 댓글을 빠르고 쉽게 이해하도록 지원하는데요. 이 기능을 사용하면 개발자와 비즈니스 팀이 문제와 요구 사항을 잘 조율하는 데 도움이 됩니다. 아래 이미지에서는 ‘계산기 만들기’라는 이슈를 생성해 기능, 디자인을 주제로 브레인스토밍 한 모습을 보여주는데요. 다양한 아이디어를 올리다 보니 스레드가 많이 길어졌습니다.

GitLab 이슈 스레드에 달린 의견. 출처=GitLab | 인포그랩 GitLab
GitLab 이슈 스레드에 달린 의견. 출처=GitLab

그러나 다음 이미지에서 보다시피 View summary 버튼을 클릭하니 긴 스레드가 한눈에 보이도록 요약됐죠. 이 요약은 AI가 생성한 결과물인데요. 9줄에 달한 긴 요구사항이 단 4줄로 간결하게 정리됐습니다. 그 결과, 긴 스레드를 읽지 않고도 핵심 논의 사항을 빠르게 뽑아내고, 검토할 수 있었죠. 이제 GitLab 이슈에서 굳이 모든 댓글을 읽어보며 최종 결정 사항을 확인하지 않아도 됩니다. AI가 나 대신 여러 댓글을 읽고, 최종 결정 사항을 파악한 다음, 그 내용을 일목요연하게 요약해 주기 때문입니다.

’View summary’ 기능으로 이슈에 달린 스레드를 요약한 결과. 출처=GitLab | 인포그랩 GitLab
’View summary’ 기능으로 이슈에 달린 스레드를 요약한 결과. 출처=GitLab

효율적인 코드 리뷰 돕는 ‘Suggested reviewer

소프트웨어 개발 라이프사이클에 AI를 도입하면 팀이 더 신속하게 일하는 데 도움이 됩니다. 특히 소프트웨어 품질을 떨어뜨리지 않고 더 빠르게 움직이려면 개발팀이 지금까지 기여한 모든 코드를 리뷰하는 것이 중요한데요. 코드 리뷰는 개발자가 지식을 공유하고 고품질 소프트웨어를 유지 관리하는 데 유익하죠. 그러나 개발자가 많은 기업에서는 적합한 리뷰어를 찾기가 어렵고 시간도 오래 걸립니다.

GitLab에서는 AI 기반 ‘Suggested reviewer(추천 리뷰어)’ 기능을 활용해 이 문제를 해결할 수 있는데요. 이 기능은 머신러닝을 사용해 관련성이 가장 높은 코드 리뷰어를 추천하죠. 이로써 리뷰 프로세스를 간소화하고 속도를 높일 수 있습니다. Suggested reviewer를 실행하는 머신러닝 알고리즘은 프로젝트의 기여도 그래프 데이터, 코드의 변경 사항, 코드 소유자의 프로필 등을 고려해 알맞은 리뷰어를 추천해 줍니다.

아래 이미지는 회사 프로젝트의 Merge Request(MR)에서 머신러닝 알고리즘에 기반해 추천 리뷰어를 보여주는 화면입니다.

’Suggested reviewer’ 기능으로 추천받은 리뷰어. 출처=GitLab | 인포그랩 GitLab
’Suggested reviewer’ 기능으로 추천받은 리뷰어. 출처=GitLab

참고로 추천 리뷰어를 확인하려면 프로젝트에서 이 기능을 off에서 on으로 설정해야 합니다. 그렇게 하지 않으면 리뷰어를 추천받지 못할 수 있죠. 기능 설정 방법은 아래와 같습니다.

  • 프로젝트의 설정에 접근하기 위해 소유자 또는 관리자 권한필요합니다.
  • 해당 Project > Settings > Merge requests 페이지로 이동합니다.
  • 아래로 스크롤 해 Suggested reviewers 섹션에서 Enable suggested reviewers에 체크하고, Save changes 버튼을 눌러 설정을 저장합니다.
    Suggested reviewer 기능 활성화 화면. 출처=GitLab | 인포그랩 GitLab
    Suggested reviewer 기능 활성화 화면. 출처=GitLab

위와 같이 기능을 설정해도 추천 리뷰어를 바로 확인하기 어려울 수 있는데요. 이유는 이렇습니다. Suggested reviewer 기능을 활성화하면 그때부터 GitLab에서 프로젝트의 데이터 추출 작업이 시작되는데요. 이 기능은 MR API를 활용해 최신성, 도메인 경험, 빈도 등 리뷰 패턴을 파악한 다음, 적절한 리뷰어를 추천합니다. 이 데이터 추출 작업을 완료하려면 몇 시간(최대 하루)이 걸릴 수 있죠. 데이터 추출 소요 시간은 프로젝트 규모에 따라 다른데요. 이 프로세스는 자동화돼 있으며, 프로세스를 진행하는 동안 별도 조치는 필요하지 않습니다. 데이터 추출이 완료되면 MR에서 리뷰어를 추천받을 수 있습니다. Suggested reviewer의 자세한 내용은 GitLab 공식 문서에서 확인하세요.

‘코드 리뷰 요약’과 ‘테스트 코드 생성’

보통 코드 리뷰에서는 ‘코드 변경 사항’을 제안하는데요. GitLab에서는 AI 기반 ‘Code review summary(코드 리뷰 요약)’ 기능으로 이 내용을 요약할 수 있습니다. 요약된 내용을 먼저 보면 코드 리뷰 내용을 세부적으로 파악하기 전에 주요 사항을 한눈에 알 수 있고요. 이를 코드 개선에 반영하면 고품질 소프트웨어를 빠르게 배포하는 데에도 도움이 되죠.

아래 이미지는 GitLab의 ‘Code suggestion(코드 제안)’ 기능으로 만든 계산기 컴포넌트를 추가한 커밋을 보여줍니다. 참고로 App.tsx 파일에 컴포넌트를 삽입하는 코드를 커밋하고 푸시한 상태입니다. 푸시가 완료된 뒤, 화면 상단 ‘Latest AI-generated summary’에서는 AI가 ‘MR에 포함된 모든 변경 사항’을 자동으로 요약, 제시합니다.

’Code review summary’ 기능으로 요약한 코드 리뷰 내용. 출처=GitLab | 인포그랩 GitLab
’Code review summary’ 기능으로 요약한 코드 리뷰 내용. 출처=GitLab

아울러 GitLab에서는 AI로 테스트 코드를 생성할 수도 있는데요. 소프트웨어 개발 과정에서는 ‘모든 기능이 테스트 되었는지’ 확인하는 일이 중요하죠. 간과한 테스트가 있으면, Suggest test cases 기능을 실행하면 됩니다. GitLab의 MR에서 Changes 탭을 클릭하고, 오른쪽에 점 세개 모양의 버튼을 누른 다음, ‘Suggest test cases’를 클릭하세요. 그러면 AI로 테스트 코드를 만들 수 있습니다. AI가 생성한 테스트 코드는 이전에 고려하지 않았던 점을 발견하는 데 유용하고요. 또 이는 프로젝트 코드베이스의 품질을 강화하며, 효율적인 코드 리뷰에 도움이 됩니다.

’Suggest test cases’ 실행 화면. 출처=GitLab | 인포그랩 GitLab
’Suggest test cases’ 실행 화면. 출처=GitLab

컨텍스트 스위칭 최소화한 ‘GitLab Duo Chat’

이밖에 ‘GitLab Duo Chat’ 기능을 사용하면 GitLab 관련 사항을 질문하고, AI에게서 답변받을 수 있습니다. 사용자는 정보를 찾기 위해 다른 사이트로 이동하거나, 일일이 검색하지 않아도 되고요. GitLab 플랫폼에 계속 머물면서 원하는 정보를 채팅으로 편리하게 구할 수 있습니다. 이는 컨텍스트 스위칭을 줄이는 데에도 도움이 됩니다. 아래 이미지는 ‘Group의 settings에 접근하는 데 필요한 권한’을 GitLab Duo Chat으로 문의하고, 답변받은 내용입니다.

’GitLab Duo Chat’ 질의응답 화면. 출처=GitLab | 인포그랩 GitLab
’GitLab Duo Chat’ 질의응답 화면. 출처=GitLab

GitLab Duo Chat은 실험 기능인데요. 사용자는 아래 조건을 충족해야 이 기능을 사용할 수 있습니다.

  • 이 기능을 사용하려면 적어도 하나 이상의 그룹에 속해 있어야 합니다.

  • Group settings에서 아래 두 가지 옵션을 활성화해야 합니다.

  • New navigation을 활성화해야 합니다.

    ’New navigation’ 활성화 화면. 출처=GitLab | 인포그랩 GitLab
    ’New navigation’ 활성화 화면. 출처=GitLab

이 기능을 사용하려면 먼저 왼쪽 사이드바에서 왼쪽 하단의 Help버튼을 클릭합니다. 그다음, GitLab Duo Chat버튼을 누르면 관련 창이 오른쪽에 사이드 메뉴로 등장합니다.

GitLab Duo Chat 실행 전 화면. 출처=GitLab | 인포그랩 GitLab
GitLab Duo Chat 실행 전 화면. 출처=GitLab

맺음말

생성형 AI 시대에 걸맞게 GitLab은 GitLab Duo를 토대로 다양한 AI 기능을 선보이고 있습니다. GitLab은 위에서 설명한 기능 외에도 여러 AI 기능을 지원하는데요. GitLab Duo 홈페이지에서 필요한 기능을 찾아보고 업무에 적용해 개발 속도와 개발 환경의 수준을 향상해 보세요.

인포그랩은 GitLab 및 DevOps에 대한 맞춤 기술 지원을 제공합니다. GitLab(Omnibus/Cloud Native Hybrid) 구축 관련한 지원이 필요하시면 문의하기 로 연락 주십시오.

이 포스트는 GitLab의 동의를 받아 공식 블로그의 영문 포스트를 우리말로 번역하고 요약 및 내용을 추가한 글입니다.