merge-requests

4 개의 포스트

GitLab을 사용하여 소프트웨어 개발을 쉽게 가르치는 방법 (새 탭에서 열림)

워싱턴 대학교의 Stephen G. Dame 강사는 'GitLab for Education' 프로그램을 활용해 대규모 소프트웨어 개발 강의의 과제 배포 및 피드백 과정을 효율적으로 관리하고 있습니다. GitLab의 그룹 및 하위 그룹 구조를 통해 복잡한 권한 설정을 체계화하고, 실제 현업과 유사한 워크플로우를 교육 현장에 도입하여 학생들에게 실무적인 개발 환경을 제공하는 것이 핵심입니다. 이를 통해 교강사는 행정적 부담을 줄이면서도 학생 개개인에게 구체적이고 맥락 있는 코드 리뷰를 전달할 수 있습니다. ### 그룹 및 하위 그룹을 활용한 체계적 구조 설계 * GitLab의 고유한 '그룹(Groups)' 및 '하위 그룹(Subgroups)' 기능을 사용하여 대학 부서, 강의, 역할별로 계층적인 구조를 설계합니다. * 최상위 그룹(예: UWTeaching) 아래에 개별 강의 하위 그룹을 두고, 그 안에 강의 자료, 학생 전용 그룹, 채점자 그룹 등을 구분하여 관리합니다. * 권한 상속 기능을 활용해 학생들에게는 '리포터(Reporter)' 권한을 부여함으로써, 강의용 템플릿 코드를 복제(Clone)하거나 가져올(Pull) 수는 있지만 원본 소스에 직접 푸시(Push)할 수는 없도록 제어합니다. * 학생들은 개인별 비공개 저장소를 생성하여 자신의 버전 히스토리를 관리하고, SSH 키 설정을 통해 로컬 환경이나 가상 머신에서 원활하게 작업할 수 있습니다. ### REST API 기반의 관리 자동화 * 수강생이 많은 대규모 강의의 경우, GitLab REST API와 Python 스크립트를 활용해 학생별 하위 그룹 생성 및 멤버 추가 과정을 자동화할 수 있습니다. * 학생의 사용자 이름을 기반으로 개인별 비공개 하위 그룹을 생성하고, 학기 종료 시점에 맞춰 권한이 자동으로 만료되도록 '만료일(Expiration date)'을 설정하여 보안을 유지합니다. * 이러한 자동화 워크플로우는 수동 관리에서 발생할 수 있는 실수를 방지하고 교강사가 교육 콘텐츠에 더 집중할 수 있는 시간을 확보해 줍니다. ### 머지 리퀘스트(Merge Request)를 통한 실무형 피드백 * 학생들은 과제 제출 시 '머지 리퀘스트(MR)'를 생성하며, 강사는 이를 통해 변경된 코드의 차이점(Diff)을 한눈에 확인하고 검토합니다. * 강사는 특정 코드 라인에 직접 인라인 댓글을 남겨 단순히 틀린 부분을 지적하는 것을 넘어, 왜 수정이 필요한지 맥락 있는 피드백을 제공합니다. * 학생들은 실제 현업의 필수 프로세스인 버전 관리와 코드 리뷰를 자연스럽게 경험하며 추상적인 개념이 아닌 실전적인 개발 습관을 체득하게 됩니다. ### 실용적인 권장 사항 처음 GitLab을 교육에 도입한다면 단일 강의 그룹과 기본 과제 템플릿으로 간단하게 시작하여 점진적으로 구조를 확장하는 것이 좋습니다. 'GitLab for Education' 프로그램을 신청하면 Ultimate 등급의 기능을 무료로 사용할 수 있으므로, 무제한 리뷰어 설정과 추가 컴퓨팅 리소스를 활용하여 교육의 질을 높일 것을 추천합니다.

GitLab 18.11 릴리스 노트 | GitLab 문서 (새 탭에서 열림)

GitLab 18.11 버전부터 GitLab Duo 에이전트 플랫폼을 통한 '에이전틱 SAST 취약점 해결(Agentic SAST Vulnerability Resolution)' 기능이 정식 출시되었습니다. 이 기능은 SAST 스캔 과정에서 발견된 보안 취약점을 AI 에이전트가 자율적으로 분석하고, 코드 수정안이 포함된 머지 리퀘스트(MR)를 자동으로 생성하여 개발자의 보안 조치 속도를 획기적으로 높여줍니다. 특히 치명적(Critical) 및 높음(High) 심각도의 취약점에 대해 즉각적인 해결책을 제시함으로써 보안 부채를 효율적으로 관리할 수 있게 돕습니다. ### AI 기반의 자율적 취약점 분석 및 수정 * **문맥 중심 분석:** 단순한 패턴 매칭을 넘어, AI 에이전트가 취약점 주변의 코드 문맥을 스스로 파악하고 논리적으로 추론하여 최적의 해결책을 도출합니다. * **자동 수정 제안:** 분석 결과를 바탕으로 즉시 검토 및 반영이 가능한 머지 리퀘스트(MR)를 자동으로 생성하여 개발자의 수동 작업 부담을 줄여줍니다. * **유연한 실행 시점:** 전체 SAST 스캔 프로세스의 일부로 실행되거나, 오탐지 감지 단계 이후, 또는 특정 취약점 상세 페이지에서 사용자가 수동으로 트리거하여 실행할 수 있습니다. ### 신뢰도 높은 보안 워크플로우 제공 * **품질 평가 지표:** AI가 제안한 해결 방안에 대해 품질 평가(Quality assessments) 결과를 함께 제공하여, 리뷰어가 제안된 코드의 신뢰도를 신속하게 판단할 수 있도록 지원합니다. * **직관적인 관리:** 취약점 상세 정보 페이지에서 분석 내용을 확인하고, 제시된 해결책을 즉시 적용할 수 있는 통합된 사용자 경험을 제공합니다. * **우선순위 대응:** 보안 위협이 큰 치명적(Critical) 및 높음(High) 등급의 SAST 취약점을 우선적으로 처리하는 데 특화되어 있습니다. ### 서비스 이용 환경 및 대상 * **지원 대상:** 이 기능은 GitLab Ultimate 플랜 고객에게 제공됩니다. * **배포 환경:** GitLab.com(SaaS), Self-Managed, GitLab Dedicated 환경에서 모두 사용할 수 있습니다. 대규모 코드베이스에서 보안 취약점을 일일이 분석하고 수정하는 과정은 많은 시간과 비용이 소모됩니다. 이번에 정식 출시된 에이전틱 SAST 기능을 활용하면 보안 전문가의 개입 없이도 초동 조치가 가능해지므로, 개발팀은 보안 사고 예방 속도를 높이고 보다 고도화된 비즈니스 로직 개발에 집중할 것을 추천합니다.

GitLab 18.10 brings AI-native triage and remediation (새 탭에서 열림)

GitLab 18.10은 AI 기반의 보안 기능을 강화하여 취약점 관리의 효율성을 획기적으로 높였습니다. GitLab Duo Agent 플랫폼을 통해 보안 탐지 결과의 노이즈를 줄이고 실제 위험에 집중하게 함으로써, 개발자가 보안 전문가가 아니더라도 신속하고 정확하게 취약점을 해결할 수 있는 환경을 제공합니다. 특히 정적 응용 프로그램 보안 테스트(SAST) 및 기밀 정보 탐지에서의 지능형 분석과 자동 수정 제안 기능이 핵심입니다. ### SAST 오탐 감지 및 분석 (정식 출시) * 기존 SAST 스캐너는 코드의 실행 맥락을 이해하지 못해 실제 위협이 아닌 코드도 경고를 띄우는 '오탐(False Positive)' 문제가 빈번했습니다. * GitLab Duo Agent는 LLM 기반의 추론을 통해 감지된 취약점이 실제 위협인지 아니면 안전한 코드인지를 분석합니다. * 취약점 리포트에 신뢰도 점수, AI가 작성한 판단 근거 설명, "오탐 가능성 높음/낮음"을 나타내는 시각적 배지를 제공하여 보안 팀이 중요한 문제에 먼저 집중할 수 있도록 돕습니다. ### 에이전트 기반 취약점 자동 수정 (베타) * 식별된 취약점을 확인하는 단계에서 더 나아가, AI가 직접 코드 수정안을 포함한 병합 요청(Merge Request)을 자동으로 생성합니다. * AI 에이전트가 코드 저장소의 주변 문맥을 읽고 고품질의 패치를 생성한 뒤, 자동화된 테스트를 통해 수정 사항이 안전한지 검증합니다. * 생성된 병합 요청에는 구체적인 코드 변경 사항과 함께 변경 이유에 대한 AI의 설명이 포함되어 개발자의 검토 및 반영 속도를 높여줍니다. ### 기밀 정보(Secret) 탐지의 정확도 향상 (베타) * 테스트용 자격 증명이나 예시 토큰과 같은 더미 데이터가 실제 보안 위협으로 분류되어 발생하는 리포트 노이즈를 제거합니다. * 기본 브랜치에서 스캔을 실행할 때 각 발견 항목을 분석하여 실제 노출된 기밀인지 아니면 테스트용 값인지를 구분하고 신뢰도 점수를 부여합니다. * 개발자는 취약점 리포트에서 수동으로 '오탐 확인'을 요청하여 보안 위험이 없는 항목을 빠르게 정리하고 실제 유출 사고에 즉각 대응할 수 있습니다. GitLab 18.10의 새로운 AI 보안 기능은 취약점의 탐지부터 해결까지의 전체 워크플로우를 자동화하여 개발 주기를 단축합니다. GitLab Ultimate 사용자는 GitLab Duo Agent 플랫폼을 통해 보안 검증 시간을 줄이고 코드의 안전성을 강화할 수 있으며, 무료 트라이얼을 통해 이러한 지능형 보안 워크플로우를 직접 경험해 보는 것을 추천합니다.

Agentic code reviews for $0.25 each (새 탭에서 열림)

GitLab은 AI 코드 작성 가속화로 인해 발생하는 코드 리뷰 병목 현상을 해결하기 위해 'Code Review Flow'를 도입했습니다. 이 서비스는 리뷰 건당 $0.25라는 파격적인 정찰제 가격을 통해 기존 AI 리뷰 도구의 불투명한 비용 문제를 해결하고, 모든 머지 리퀘스트(MR)에 대해 자동화된 리뷰를 제공합니다. 이를 통해 개발팀은 비용 부담 없이 코드 품질을 유지하며 대기 시간을 획기적으로 단축하고 소프트웨어 배포 흐름을 최적화할 수 있습니다. **코드 리뷰 병목 현상과 기존 도구의 한계** * AI 코딩 도구의 보급으로 코드 작성 속도는 빨라졌으나, 이를 검토하는 리뷰 시간은 오히려 91% 증가하며 새로운 병목 구간이 되었습니다. * 대규모 기업의 엔지니어는 MR 승인을 위해 평균 13시간을 대기하며, 개발 팀의 44%가 느린 코드 리뷰를 주요 배포 장애물로 지목하고 있습니다. * 기존 AI 리뷰 도구들은 토큰 기반의 불예측한 가격 정책을 사용하거나, 리뷰당 $15~$25에 달하는 높은 비용을 요구하여 모든 프로젝트에 전면 도입하기가 어려웠습니다. **에이전트 기반 코드 리뷰의 작동 방식** * GitLab Duo 에이전트 플랫폼에서 작동하는 이 기술은 단순히 코드 차이(diff)만 분석하는 것이 아니라, 레포지토리 컨텍스트, 파이프라인 결과, 보안 취약점, 컴플라이언스 요구사항을 종합적으로 스캔합니다. * MR이 생성되면 자동으로 다단계 리뷰 프로세스가 실행되며, 소스 코드 내에 구조화된 인라인 피드백을 생성하여 개발자에게 직접 전달합니다. * 개별 엔지니어의 IDE에서 실행되는 방식이 아닌 플랫폼 수준의 실행 방식을 채택하여, 조직 전체에서 수백 개의 리뷰를 동시에 병렬로 처리할 수 있습니다. **$0.25 정찰제 pricing의 경제적 가치** * 리뷰의 복잡도나 코드 양에 관계없이 건당 0.25 GitLab Credit($0.25)의 고정 비용이 발생하므로, 기업은 스프레드시트를 통해 정확한 비용 예측이 가능합니다. * 시니어 엔지니어가 15분간 수행하는 수동 리뷰 비용을 약 $25로 산정할 때, 자동화 리뷰는 비용을 99% 절감하는 효과를 제공합니다. * 매우 저렴한 고정 비용 덕분에 팀은 특정 중요 MR만 선별하여 리뷰하던 방식에서 벗어나, 모든 프로젝트와 모든 MR에 AI 리뷰를 상시 활성화하는 전략으로 전환할 수 있습니다. **일관된 표준과 생산성 향상** * 프로젝트별로 사용자 정의 리뷰 지침을 설정할 수 있어, 조직 전체에 일관된 코드 표준과 가이드라인을 대규모로 적용하기 용이합니다. * Claude Code, Codex 등 다양한 에이전트를 프로젝트 특성에 맞춰 선택하여 운영하면서도 모든 리뷰 결과를 한곳에서 관리할 수 있습니다. * AI 에이전트가 단순 반복적인 리뷰 대기열을 처리하는 동안, 엔지니어들은 아키텍처 설계나 팀원 멘토링과 같은 고부가가치 업무에 더 많은 시간을 할당할 수 있습니다. GitLab 18.8.4 버전 이상의 사용자(GitLab.com, Dedicated, Self-managed)라면 즉시 이 기능을 도입할 수 있습니다. 반복적인 코드 검토 업무를 저렴한 비용의 AI 에이전트에게 위임하여, 며칠씩 걸리던 리뷰 대기 시간을 단 분 단위로 단축하고 전체 개발 주기를 가속화할 것을 권장합니다.