GitLab

135 개의 포스트

about.gitlab.com/blog

태그로 필터

gitlab원문

SmartBear QMetry GitLab 컴포넌트로 테스트 관리 효율화하기 (새 탭에서 열림)

SmartBear QMetry GitLab 컴포넌트는 GitLab CI/CD 파이프라인에서 생성된 테스트 결과를 QMetry Test Management Enterprise로 자동 업로드하여 테스트 관리 공수를 획기적으로 줄여줍니다. 이 통합은 수동 업로드로 인한 지연과 오류를 제거하고, 요구사항부터 실행 결과까지의 엔드투엔드 추적성을 보장하여 엔터프라이즈 환경에서의 품질 관리를 강화합니다. 결과적으로 개발 팀은 실시간 데이터와 AI 기반 인사이트를 바탕으로 더욱 빠르고 신뢰할 수 있는 릴리스 의사결정을 내릴 수 있습니다. **GitLab과 QMetry 통합의 주요 가치** * **수동 프로세스 제거**: JUnit, TestNG 등 다양한 형식의 테스트 결과를 파이프라인 완료 후 자동으로 업로드하여 QA 팀의 단순 반복 작업을 최소화합니다. * **추적성 및 규정 준수**: 테스트 결과를 특정 GitLab 커밋 및 빌드와 연결함으로써 금융, 항공우주, 의료 기기 등 규제 산업에서 필수적인 감사 추적(Audit Trail)을 완벽하게 지원합니다. * **피드백 루프 가속화**: 테스트가 완료되는 즉시 스테이크홀더가 결과를 확인할 수 있어, 문제 발생 시 즉각적인 조치가 가능하고 릴리스 주기가 단축됩니다. * **AI 기반 인사이트 활용**: 파이프라인의 실시간 데이터를 QMetry의 AI 엔진에 공급함으로써 취약한 테스트(Flaky tests) 식별 및 실패 예측의 정확도를 높입니다. **자동화된 테스트 결과 관리 워크플로우** * **테스트 실행**: GitLab CI/CD 파이프라인 내에서 단위 테스트, 통합 테스트 또는 E2E 테스트가 실행됩니다. * **결과 생성**: 테스트 도구에 의해 JUnit XML 또는 TestNG XML과 같은 표준 형식의 결과 파일이 생성됩니다. * **컴포넌트 호출**: GitLab CI/CD 카탈로그에 등록된 QMetry 컴포넌트가 파이프라인의 한 단계(Job)로 실행됩니다. * **API 자동 업로드**: 컴포넌트가 결과 파일을 읽어 QMetry API를 통해 지정된 프로젝트로 데이터를 전송하며, 이 과정은 별도의 수동 개입 없이 이루어집니다. **설정 및 보안 준비 사항** * **API 자격 증명**: QMetry Enterprise 인스턴스의 설정 메뉴에서 API Key를 생성해야 하며, 해당 키는 결과 업로드를 위한 쓰기 권한을 가져야 합니다. * **보안 유지**: 생성된 API Key는 보안을 위해 `.gitlab-ci.yml` 파일에 직접 노출하지 않고, 반드시 GitLab CI/CD 변수(Variables) 기능을 사용하여 관리해야 합니다. * **환경 구성**: 업로드를 위해 QMetry 인스턴스 URL(예: `https://company.qmetry.com`)과 테스트 결과를 업로드할 대상 프로젝트 정보를 사전에 확인해야 합니다. **실용적인 권장 사항** 데브섹옵스(DevSecOps) 성숙도를 높이려는 조직은 이 컴포넌트를 도입하여 '속도 기반의 품질 관리'를 실현할 수 있습니다. 특히 복잡한 규제 준수가 필요한 항공우주나 금융 분야의 팀에게는 이 자동화 도구가 감사 준비 시간을 단축하고 데이터 일관성을 유지하는 데 강력한 도구가 될 것입니다. 초기 설정 시 모든 테스트 결과를 한곳으로 모으는 것뿐만 아니라, QMetry 내에서 테스트 스위트 구조를 먼저 최적화한 후 자동화를 적용하는 것이 보다 체계적인 리포팅을 위해 권장됩니다.

gitlab원문

GitLab Duo CLI: 에이전트형 AI가 이제 터미널에서 제공됩니다 (새 탭에서 열림)

GitLab Duo CLI는 IDE를 넘어 터미널 환경에서 전체 소프트웨어 개발 생애주기(SDLC)를 지원하는 에이전트형 AI 도구입니다. 이 도구는 단순한 코드 완성을 넘어 파이프라인 디버깅, CI/CD 자동화 등 복잡한 작업을 수행하며, 인간의 승인을 거치는 대화형 모드와 자동화된 워크플로우를 위한 헤드리스 모드를 모두 지원합니다. 보안과 제어 권한을 플랫폼 수준에서 강화하여 개발자가 터미널 내에서 안전하고 효율적으로 에이전트 기반 AI의 성능을 활용할 수 있도록 설계되었습니다. **터미널 환경으로의 확장 배경** * 기존의 AI 비서들이 IDE 내에서 코드 작성(Auto-complete)에만 집중했던 것과 달리, Duo CLI는 테스트 실행, 파이프라인 트리거, 취약점 스캔 모니터링 등 개발 전 단계의 자동화를 목표로 합니다. * CLI는 출력을 파이프라인으로 연결하거나 명령어를 체이닝하고 스크립트에 삽입할 수 있어 기계와 인간 모두에게 유연한 인터페이스를 제공합니다. * IDE가 맥락 중심의 인터랙티브한 개발에 유리하다면, 터미널은 자동화, 이식성, 투명한 디버깅 측면에서 강력한 강점을 가집니다. **운영 모드 및 주요 기능** * **대화형 모드(Interactive mode):** 에디터와 무관한 터미널 채팅 환경을 제공하며, 모든 작업 실행 전 사용자의 승인을 거치는 'Human-in-the-loop' 방식을 따릅니다. 이를 통해 코드 구조 파악, 오류 수정, 파이프라인 트러블슈팅이 가능합니다. * **헤드리스 모드(Headless mode):** CI/CD 러너나 스크립트 내에서 사람의 개입 없이 독립적으로 작동하도록 설계되었습니다. * **에이전트 활용:** GitLab Duo Agent Platform에 정의된 모든 에이전트와 워크플로우에 접근할 수 있어 코드 리팩토링부터 복잡한 다단계 개발 작업까지 자율적으로 수행합니다. **보안 모델 및 가드레일** * **플랫폼 내장 보안:** 프롬프트 주입(Prompt injection) 탐지 기능을 플랫폼 수준에서 기본적으로 지원하여 외부 위협으로부터 시스템을 보호합니다. * **복합 ID(Composite identity):** 에이전트가 접근할 수 있는 범위를 엄격히 제한하며, AI가 수행하는 모든 행동에 대해 감사(Audit)가 가능하도록 기록을 남깁니다. * **사용자 정의 지침:** `chat-rules.md`, `AGENTS.md`, `SKILL.md`와 같은 설정 파일을 통해 에이전트에게 허용된 작업, 자원, 지식 범위를 명시적으로 정의하는 '최소 권한 원칙'을 적용합니다. **실용적인 제언** GitLab Duo CLI는 현재 공개 베타 상태로 제공되고 있습니다. 기존 GitLab CLI(`glab`) 사용자는 `glab duo cli` 명령어를 통해 즉시 설치 및 구성이 가능합니다. 반복적인 파이프라인 문제 해결이나 대규모 코드 현대화 작업을 자동화하려는 팀은 대화형 모드로 충분히 검증을 거친 후, 헤드리스 모드를 CI/CD 파이프라인에 통합하여 생산성을 극대화할 것을 추천합니다.

gitlab원문

packages.gitlab.com의 변경 사항: 알아야 할 내용 (새 탭에서 열림)

GitLab은 더욱 효율적이고 안정적인 패키지 호스팅을 위해 `packages.gitlab.com`의 인프라를 새로운 시스템으로 이전하고 있습니다. 기본 도메인은 유지되지만, URL 형식, GPG 키 위치, 네트워크 허용 목록 및 UI 등 주요 구성 요소가 변경되므로 사용자의 대응이 필요합니다. 기존 구성에 대한 하위 호환성은 2026년 9월 30일까지 유지되지만, 서비스 중단을 방지하기 위해 기한 내에 새로운 설정으로 전환해야 합니다. ### 주요 변경 일정 및 인프라 전환 * **2026년 3월 31일**: 기존 PackageCloud 시스템과 관련 UI가 완전히 종료됩니다. * **2026년 9월 30일**: 이전 URL 형식을 새 형식으로 연결해 주던 재작성(Rewrite) 규칙이 제거되어, 이후에는 새로운 URL로만 접근이 가능합니다. * **저장소 백엔드 변경**: 패키지 저장소가 기존 AWS CloudFront에서 Google Cloud Storage(GCS)로 이전되었습니다. ### 리눅스 패키지 저장소(DEB/RPM) 설정 업데이트 * **DEB 저장소 경로 변경**: `gitlab/*` 관련 저장소(gitlab-ee, gitlab-ce 등)의 URL 구조에 배포판 코드네임(예: jammy)이 경로 세그먼트로 추가되었습니다. 표준 데비안 저장소 형식에 맞게 변경된 것이며, `runner/*` 저장소는 이번 변경에서 제외됩니다. * **설치 스크립트 재실행**: 가장 간단한 업데이트 방법은 GitLab에서 제공하는 최신 설치 스크립트(`script.deb.sh` 또는 `script.rpm.sh`)를 다시 다운로드하여 실행하는 것입니다. * **GPG 키 주소 변경**: 기존 `https://packages.gitlab.com/gpg.key` 주소가 `https://packages.gitlab.com/gpgkey/gpg.key`로 변경되었으므로 설정을 갱신해야 합니다. ### 네트워크 및 방화벽 설정 요구사항 * **GCS 허용 목록 추가**: 패키지 다운로드 시 GCS로 리다이렉트되므로, 엄격한 방화벽이나 프록시를 사용하는 환경에서는 `https://storage.googleapis.com/packages-ops` 주소를 허용 목록에 반드시 추가해야 합니다. 이를 누락할 경우 503 오류나 연결 시간 초과가 발생할 수 있습니다. ### GitLab Runner 및 자동화 스크립트 수정 * **Runner RPM 아키텍처 경로**: RPM 기반 배포판(RHEL/CentOS 등)에서 GitLab Runner 관련 `noarch` 패키지들이 `x86_64` 경로로 이동되었습니다. 관련 자동화 설정이 있다면 경로를 수정해야 합니다. * **직접 다운로드 URL**: 기존 PackageCloud 방식의 `download.deb` 또는 `download.rpm` 형식의 URL은 더 이상 지원되지 않습니다. 새로운 UI에서 제공하는 직접적인 패키지 경로를 사용하도록 자동화 스크립트를 수정해야 합니다. 가장 권장되는 방법은 GitLab 공식 문서의 최신 가이드를 따라 설치 스크립트를 다시 실행하여 저장소 구성을 자동으로 갱신하는 것입니다. 2026년 9월 호환성 종료 기간에 임박하기 전, 미리 방화벽 규칙과 패키지 경로 설정을 점검하여 운영 환경의 연속성을 확보하시기 바랍니다.

gitlab원문

Python에서 GitLab 기능 플래그 시작하기 (새 탭에서 열림)

GitLab 피처 플래그(Feature Flags)는 소프트웨어의 배포와 출시를 분리하여 운영 환경에서의 리스크를 최소화하는 핵심 기술입니다. Python Flask 앱과 Unleash SDK를 통합하면 별도의 서버 없이도 GitLab UI에서 실시간으로 기능을 제어하고, 특정 사용자 그룹에게만 점진적으로 기능을 노출할 수 있습니다. 이를 통해 예상치 못한 버그 발생 시 코드 재배포 없이 즉각적으로 기능을 차단하고 안전하게 장애에 대응할 수 있는 유연한 릴리스 환경을 구축할 수 있습니다. **GitLab과 Unleash SDK의 작동 방식** * GitLab은 Unleash 호환 API를 내장하고 있어 별도의 Unleash 서버 구축 없이도 다양한 언어의 SDK와 직접 연결이 가능합니다. * SDK는 애플리케이션 시작 시 모든 플래그 정의를 가져오며, 설정된 간격(예: 15초)마다 이를 업데이트하여 로컬에 캐싱합니다. * 플래그 상태를 확인하는 `is_enabled()` 함수는 네트워크 호출 없이 로컬 캐시를 즉시 평가하므로, 성능 저하가 거의 없고 일시적인 네트워크 장애에도 탄력적으로 대응합니다. **정교한 기능 노출을 위한 배포 전략** * **All users:** 모든 사용자에게 기능을 즉시 켜거나 끄는 단순 토글 방식으로 사용됩니다. * **Percent rollout:** 사용자 ID나 세션 ID를 기반으로 트래픽의 특정 비율(예: 10%)에게만 기능을 노출하여 점진적인 릴리스를 수행할 수 있습니다. * **User IDs 및 User list:** 특정 사용자 ID나 정의된 리스트에 포함된 내부 QA 팀, 베타 테스터에게만 기능을 우선적으로 공개하는 데 유용합니다. **Python Flask 애플리케이션 통합 절차** * **GitLab 설정:** 프로젝트 설정에서 Feature Flags 기능을 활성화하고, 사용할 플래그 이름(예: `dark_mode`, `new_layout`)과 배포 전략을 정의합니다. * **인증 정보 확보:** GitLab UI의 Configure 패널에서 제공하는 API URL과 고유한 Instance ID를 복사하여 애플리케이션의 환경 변수로 등록합니다. * **SDK 구현:** `UnleashClient`를 사용하여 API URL과 Instance ID를 설정하고 클라이언트를 초기화합니다. 이후 코드 내에서 플래그 활성화 여부에 따라 로직이 분기되도록 작성합니다. * **환경 관리:** 보안을 위해 Instance ID와 같은 민감한 정보는 `.env` 파일에 저장하고 버전 관리 시스템(Git)에 포함되지 않도록 주의해야 합니다. **실무를 위한 권장 워크플로우** 새로운 기능을 배포할 때는 먼저 'User IDs' 전략을 사용하여 내부 팀원들에게만 기능을 노출해 최종 점검을 수행하십시오. 문제가 없다면 'Percent rollout' 전략으로 변경하여 트래픽의 10%부터 점진적으로 확대해 나가는 것이 안전합니다. 만약 운영 지표에 이상이 발견되면 GitLab UI에서 즉시 플래그를 비활성화하는 것만으로 몇 초 안에 전체 서비스를 정상화할 수 있습니다.

gitlab원문

자동 종료 정책으로 대규모 취약점 노이즈 관리하기 (새 탭에서 열림)

GitLab의 자동 취약점 상태 해제(auto-dismiss) 정책은 보안 스캐너에서 발생하는 막대한 양의 노이즈를 효과적으로 관리하여 보안팀이 실제 중요한 취약점에 집중할 수 있게 돕습니다. 테스트 코드, 외부 라이브러리, 자동 생성된 파일 등 실제 수정이 필요 없는 항목들을 정책에 따라 자동으로 제외함으로써 보안 심사 효율을 높이고 개발 부서와의 마찰을 줄일 수 있습니다. 이 기능은 단순히 경고를 숨기는 것이 아니라 해제 사유를 투명하게 기록하고 대규모 프로젝트에 일관된 기준을 적용한다는 점에서 핵심적인 보안 운영 도구입니다. ### 자동 취약점 상태 해제의 필요성과 장점 * **트리아지(Triage) 노이즈 제거:** 테스트 코드나 벤더링된 의존성 파일에서 반복적으로 발생하는 불필요한 보안 경고를 자동으로 처리하여 보안팀의 업무 과부하를 방지합니다. * **조직적 일관성 유지:** 조직 전체에 공통적으로 적용되는 오탐(False Positive) 기준을 중앙에서 정책으로 관리하여 모든 프로젝트에 일관되게 적용할 수 있습니다. * **감사 투명성 및 데이터 보존:** 스캐너 제외 방식과 달리, 해제된 취약점도 보고서에 기록으로 남으며 정책 링크와 해제 사유가 포함되어 사후 검토 및 감사가 용이합니다. ### 정책 작동 원리 및 적용 단계 * **YAML 기반 정책 정의:** 취약점 관리 정책 파일에 파일 경로, 디렉토리명 또는 특정 식별자(CVE, CWE)를 매칭 기준으로 설정하고, 해제 사유(예: 테스트 용도, 완화 제어 등)를 명시합니다. * **정책 활성화:** GitLab의 '보안 > 정책' 메뉴에서 취약점 관리 정책을 새로 생성하고 머지 요청(MR)을 통해 활성화합니다. * **파이프라인 연동:** 기본 브랜치 파이프라인이 실행될 때마다 정책이 적용되며, 실행당 최대 1,000개의 일치하는 취약점을 자동으로 '해제(Dismissed)' 상태로 변경합니다. * **결과 분석:** 취약점 보고서에서 '해제됨' 상태로 필터링하여 정책이 의도대로 작동했는지 확인하고 보안 임팩트를 측정할 수 있습니다. ### 주요 활용 사례 및 구성 시나리오 * **테스트 및 스펙 코드 제외:** `test/**/*`, `spec/**/*` 등 테스트 디렉토리에서 발견되는 하드코딩된 자격 증명이나 안전하지 않은 픽스처 관련 경고를 '테스트 사용' 사유로 자동 해제합니다. * **외부 의존성 및 벤더링 코드 관리:** `vendor/`, `node_modules` 등 직접 수정 권한이 없거나 상류(Upstream)에서 관리되는 외부 코드의 취약점을 필터링합니다. * **알려진 오탐 CVE 처리:** 조직 환경에서 위협이 되지 않는 것으로 확인된 특정 CVE 번호를 식별자로 등록하여 반복적인 수동 개입을 방지합니다. * **자동 생성된 코드 예외 처리:** Protobuf, gRPC, OpenAPI 생성기 등이 만든 파일(`**/*.pb.go` 등)에서 발생하는 수정 불가능한 패턴을 관리 대상에서 제외합니다. * **인프라 수준의 완화 조치 반영:** WAF(웹 방화벽)나 런타임 보호 도구에 의해 이미 방어되고 있는 XSS(CWE-79), SQL 주입(CWE-89) 등의 취약점에 '완화 제어 적용' 사유를 부여합니다. 효율적인 보안 운영을 위해서는 무분별한 경고 확인보다 정교한 정책 수립이 중요합니다. 처음에는 테스트 디렉토리와 같이 명확한 영역부터 자동 해제 정책을 적용해보고, 점진적으로 오탐으로 확인된 CVE나 CWE로 범위를 넓혀가며 보안 팀의 생산성을 극대화할 것을 추천합니다.

gitlab원문

GitLab 18.10의 신규 기능으로 강화된 애자일 계획 (새 탭에서 열림)

GitLab 18.10 버전에서는 '작업 항목 리스트(Work items list)'와 '저장된 뷰(Saved views)' 기능을 도입하여 애자일 플래닝 경험을 대폭 강화했습니다. 이번 업데이트는 기존에 분리되어 있던 에픽(Epics)과 이슈(Issues)를 하나의 통합된 리스트로 관리할 수 있게 함으로써, 불필요한 컨텍스트 스위칭을 줄이고 팀 간의 작업 일관성을 높이는 데 초점을 맞추고 있습니다. 이를 통해 사용자들은 반복적인 필터 설정 시간을 절약하고 조직의 고유한 체계에 맞춘 유연한 워크플로우를 구축할 수 있게 되었습니다. ### 통합 작업 항목 리스트를 통한 관리 효율화 * 기존에 별도의 페이지에서 관리되던 에픽, 이슈 등 다양한 작업 유형을 하나의 통합된 리스트에서 한눈에 확인하고 관리할 수 있습니다. * '이슈'라는 기존 명칭 대신 '작업 항목(Work items)'이라는 용어를 도입하여, 향후 사용자가 조직의 계층 구조에 맞춰 항목의 이름과 유형을 직접 구성할 수 있는 유연성을 제공합니다. * 이번 통합은 향후 도입될 계층 구조 뷰(Table view)와 보드(Boards) 기능 통합의 기반이 되며, 모든 기획 단계를 한 곳에서 시각화할 수 있는 토대를 마련합니다. ### 저장된 뷰(Saved Views)를 활용한 워크플로우 표준화 * 사용자가 설정한 특정 필터, 정렬 순서, 표시 옵션 등을 저장하고 언제든지 다시 불러올 수 있어 반복적인 설정 작업을 제거합니다. * 팀 전체가 동일한 기준의 뷰를 공유함으로써 상태 점검이나 보고 과정에서 발생할 수 있는 데이터 해석의 불일치를 방지하고 표준화된 보고 체계를 지원합니다. * 반복적인 백로그 정제, 이터레이션 계획 등 특정 워크플로우에 최적화된 전용 뷰를 생성하여 업무 효율을 극대화할 수 있습니다. ### 향후 로드맵 및 비전 * 리스트, 보드, 테이블 등 서로 다른 뷰 사이를 이동할 때도 현재 적용된 필터 범위를 그대로 유지하여 끊김 없는 사용자 경험을 제공할 예정입니다. * 포트폴리오 수준의 기획을 위한 중첩 테이블 뷰와 보드 내의 모든 속성에 대한 스윔레인(Swimlane) 지원 등 더욱 강력한 기획 도구들이 순차적으로 추가될 계획입니다. * GitLab은 장기적으로 통합된 아키텍처를 통해 팀의 규모와 복잡도에 상관없이 유연하게 대응할 수 있는 차세대 애자일 플래닝 환경 구축을 목표로 하고 있습니다. 기존의 에픽 및 이슈 리스트 방식에 익숙한 사용자라면 초기에는 변화된 UI/UX가 다소 낯설 수 있으나, 장기적으로는 더 일관성 있고 강력한 도구로 자리 잡을 것입니다. GitLab 18.10의 새로운 기능들을 직접 워크플로우에 적용해 보시고, 팀의 피드백을 바탕으로 최적의 플래닝 환경을 구성해 보시길 권장합니다.

gitlab원문

GitLab 18.10, AI 네이티브 트리아지 및 문제 해결 기능 도입 (새 탭에서 열림)

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 플랫폼을 통해 보안 검증 시간을 줄이고 코드의 안전성을 강화할 수 있으며, 무료 트라이얼을 통해 이러한 지능형 보안 워크플로우를 직접 경험해 보는 것을 추천합니다.

gitlab원문

병목 현상이나 비용 부담 없는 코드 리뷰 (새 탭에서 열림)

GitLab은 AI 기반의 개발 가속화가 코드 리뷰 병목 현상으로 이어지는 문제를 해결하기 위해 에이전트 방식의 '코드 리뷰 플로우(Code Review Flow)'를 도입했습니다. 이 서비스는 저장소의 맥락과 보안 규정을 반영하여 자동 리뷰를 수행하며, 조직 전체에 일관된 가이드라인을 적용할 수 있도록 설계되었습니다. 특히 복잡한 토큰 계산 없이 리뷰당 0.25달러라는 고정 요금제를 적용함으로써, 기업이 비용 예측 가능성을 확보하면서도 대규모로 코드 품질 관리를 자동화할 수 있다는 점이 핵심입니다. ### 에이전트 기반 자동화와 맥락 중심 리뷰 * GitLab Duo Agent Platform 내에서 작동하는 에이전트 기반 워크플로우로, 머지 요청(MR)이 생성되는 즉시 자동으로 코드 분석을 시작합니다. * 단순히 코드 변경 사항(diff)만 보는 것이 아니라, 전체 저장소의 맥락, 파이프라인 결과, 보안 취약점 진단 및 컴플라이언스 요구사항을 종합적으로 분석하여 실행 가능한 피드백을 제공합니다. * IDE 내에서 개별적으로 작동하는 AI 어시스턴트와 달리, 조직 전체에서 수백 개의 코드 리뷰를 동시에 병렬로 처리할 수 있는 아키텍처를 갖추고 있습니다. ### 조직적 일관성과 유연한 에이전트 활용 * 조직마다 맞춤형 머지 리뷰 지침(Custom instructions)을 설정할 수 있어, 모든 프로젝트에서 팀의 표준과 가이드라인이 일관되게 준수되도록 보장합니다. * GitLab 기본 에이전트 외에도 Claude Code나 Codex와 같은 외부 에이전트, 혹은 팀 자체적으로 구축한 맞춤형 에이전트를 혼합하여 사용할 수 있는 개방성을 제공합니다. * 모든 리뷰 결과는 한 곳에서 관리되므로, 다양한 팀과 프로젝트에 걸쳐 코드 품질 가시성을 확보할 수 있습니다. ### 예측 가능한 고정 요금 체계(Flat-rate Pricing) * 리뷰 대상 코드의 길이나 저장소의 복잡도, AI 호출 단계에 상관없이 리뷰 1회당 0.25 GitLab 크레딧(약 0.25달러)의 고정 비용이 발생합니다. * 기존 수동 코드 리뷰에 소요되는 엔지니어의 시간당 비용(약 25달러 추산)과 비교했을 때 약 100배 가량의 비용 절감 효과를 제공합니다. * 토큰 단위의 복잡한 계산이 필요 없으므로, 대규모 개발 조직에서도 연간 R&D 예산을 세우고 코드 리뷰 자동화 범위를 확장하기가 용이합니다. AI 도입으로 개발 속도가 빨라질수록 수동 리뷰는 더 큰 병목이 될 수밖에 없습니다. 개발 효율성을 극대화하기 위해 고정 비용으로 운영 가능한 자동 리뷰 시스템을 도입하여 엔지니어가 더 복잡하고 창의적인 문제 해결에 집중할 수 있는 환경을 조성하는 것을 추천합니다. 특히 대규모 머지 요청이 잦은 조직이라면 GitLab의 코드 리뷰 플로우를 통해 비용과 시간이라는 두 마리 토끼를 잡을 수 있을 것입니다.

gitlab원문

GitLab 18.10: 에이전틱 AI, 이제 GitLab의 더 많은 팀이 사용 가능 (새 탭에서 열림)

GitLab 18.10 업데이트를 통해 GitLab.com의 Free 티어 팀도 구독 등급을 업그레이드할 필요 없이 'GitLab Credits'를 구매하여 에이전트 기반 AI(Agentic AI) 기능을 즉시 사용할 수 있게 되었습니다. 이제 팀 규모나 구독 요금제에 구애받지 않고 사용한 만큼만 비용을 지불하는 방식으로 고성능 AI 에이전트와 워크플로우를 도입할 수 있습니다. 이를 통해 중소규모 팀도 자동화된 코드 리뷰, 기획 지원, 파이프라인 진단 등 고급 개발 도구를 활용하여 소프트웨어 개발 속도를 획기적으로 높일 수 있는 길이 열렸습니다. ### GitLab Credits를 통한 AI 접근성 확대 * **사용량 기반 과금 모델:** 사용자당 비용을 지불하는 대신, AI가 수행한 작업량에 따라 비용을 지불하는 공유 크레딧 풀 방식을 도입했습니다. * **즉각적인 도입:** 별도의 유료 요금제 업그레이드 없이 그룹 빌링 설정에서 월 단위 크레딧을 구매하는 것만으로 GitLab Duo Agent Platform 기능을 바로 사용할 수 있습니다. * **투명한 대시보드:** 관리자는 어떤 AI 에이전트와 흐름이 크레딧을 소비하고 있는지 실시간으로 모니터링하여 AI 투입 비용 대비 생산성을 직접 확인 가능합니다. ### 효율적인 개발을 돕는 주요 AI 워크플로우 * **Planner Agent:** 자연어로 요구사항을 설명하면 이를 구조화된 이슈(Issue)로 변환하고, 레이블 지정 및 관계 설정을 자동화하여 기획 시간을 단축합니다. * **Developer Flow:** 이슈의 맥락을 읽고 코드를 생성하며, 테스트 실행 후 병합 요청(Merge Request) 생성까지의 과정을 에이전트가 주도합니다. * **Code Review Flow:** 코드 변경 사항과 리포지토리 맥락을 분석하여 구조화된 인라인 피드백을 제공함으로써 인간 리뷰어의 피로도를 낮춥니다. * **Fix CI/CD Pipeline Flow:** 파이프라인 실패 로그를 분석하여 근본 원인을 추적하고 수정 사항을 제안하여 수동 디버깅 시간을 줄여줍니다. ### 코드 리뷰 비용의 예측 가능성 확보 * **정액제 적용:** 코드 리뷰 흐름은 병합 요청의 크기나 리포지토리의 복잡도에 상관없이 리뷰당 0.25 크레딧(1크레딧당 4회 리뷰 가능)의 고정 비용이 발생합니다. * **병목 현상 해소:** 수백 개의 코드 리뷰를 동시에 처리할 수 있어 리뷰 대기 시간을 없애고 전체 개발 사이클을 가속화합니다. * **비용 효율성:** 수동 리뷰 시 발생하는 시간 소모와 컨텍스트 스위칭 비용을 고려할 때, 규모가 커질수록 자동화된 코드 리뷰의 경제적 가치가 커집니다. ### Premium 요금제로의 확장 가치 * **번들 크레딧 제공:** GitLab Premium 사용자는 사용자당 월 12크레딧을 프로모션 혜택으로 제공받아 추가 비용 없이 대량의 AI 워크플로우를 운영할 수 있습니다. * **통합 개발 환경:** AI 기능 외에도 고성능 CI/CD, 병합 승인 프로세스(Merge Approvals), 코드 오너(Code Owners) 등의 거버넌스 기능을 함께 활용할 수 있습니다. * **확장성:** Free 티어에서 크레딧을 사용하며 AI의 효용성을 확인한 팀은 번들 크레딧과 고급 기능이 포함된 Premium 요금제로 자연스럽게 전환하여 운영 효율을 극대화할 수 있습니다. 소규모 팀이라면 우선 Free 티어에서 소량의 크레딧을 구매하여 자동 코드 리뷰와 기획 에이전트의 성능을 테스트해 보길 추천합니다. AI 도구가 팀의 핵심 워크플로우로 자리 잡고 리뷰량이 월 수백 건 이상으로 늘어난다면, 기본 크레딧이 포함된 Premium 요금제로 전환하는 것이 비용과 기능 측면에서 가장 합리적인 선택이 될 것입니다.

gitlab원문

개당 $0.25에 에이전트 기반 코드 리뷰 (새 탭에서 열림)

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 에이전트에게 위임하여, 며칠씩 걸리던 리뷰 대기 시간을 단 분 단위로 단축하고 전체 개발 주기를 가속화할 것을 권장합니다.

gitlab원문

Docker 보안 강화 이미지를 활용한 GitLab 컨테이너 가상 레지스트리 (새 탭에서 열림)

GitLab의 Container Virtual Registry는 분산된 여러 외부 레지스트리를 하나의 엔드포인트로 통합하여 관리 효율성과 보안을 동시에 해결하는 풀스루 캐시(pull-through cache) 솔루션입니다. 개발자는 개별 레지스트리의 인증 정보를 직접 관리할 필요 없이 단일 URL을 통해 이미지를 불러올 수 있으며, 첫 호출 시 캐싱된 이미지를 사용하여 빌드 속도를 획기적으로 개선합니다. 특히 보안이 강화된 Docker Hardened Images(DHI)를 도입할 때 발생하는 운영상의 복잡성을 제거하고 전사적인 보안 표준 준수를 용이하게 합니다. **멀티 레지스트리 환경의 운영 한계** * 플랫폼 팀은 일반적으로 Docker Hub, dhi.io(보안 이미지), MCR(.NET), Quay 등 3~5개의 레지스트리를 동시에 관리하며, 각기 다른 인증 방식과 네트워크 지연 문제를 겪습니다. * CI/CD 설정 내에 레지스트리별 로직이 파편화되어 자격 증명 관리가 복잡해지며, 동일한 이미지를 반복해서 외부망으로부터 다운로드하느라 빌드 시간이 늘어납니다. * 보안 강화를 위해 Docker Hardened Images와 같은 새로운 레지스트리를 도입하려 해도, 모든 팀의 파이프라인 설정을 변경해야 하는 운영적 마찰이 발생합니다. **가상 레지스트리의 작동 메커니즘** * 사용자가 GitLab의 가상 레지스트리 URL로 이미지를 요청하면 시스템은 우선 내부 캐시를 확인하고, 없을 경우 설정된 업스트림 레지스트리들을 순차적으로 검색합니다. * 업스트림에서 찾은 이미지는 자동으로 캐싱되며, 이후의 요청은 외부망을 거치지 않고 GitLab 인프라 내에서 즉시 제공됩니다. * 업스트림 레지스트리별로 우선순위를 지정할 수 있으며, 캐시 유효 기간(기본 24시간)을 설정하여 이미지의 최신성을 유지할 수 있습니다. **보안 이미지(DHI) 도입 가속화** * Docker Hardened Images는 CVE가 거의 없고 SBOM을 제공하는 등 보안상 우수하지만, 별도의 인증이 필요하여 전사 도입이 까다롭습니다. * 가상 레지스트리를 사용하면 관리자가 한 번만 dhi.io 자격 증명을 설정하면 되므로, 개발 팀은 개별 인증 없이 보안 이미지를 손쉽게 사용할 수 있습니다. * 가상 레지스트리의 캐시 기록을 통해 팀들이 실제로 어떤 이미지를 사용하고 있는지 모니터링할 수 있어, 일반 이미지에서 보안 이미지로의 전환 현황을 파악하는 감사 도구로 활용 가능합니다. **시스템 구성 및 설정 프로세스** * **레지스트리 생성**: Python 클라이언트 등을 이용해 특정 그룹 내에 가상 레지스트리를 생성하고 고유 ID를 할당받습니다. * **업스트림 등록**: Docker Hub(`registry-1.docker.io`), Microsoft MCR, Quay.io 등을 업스트림으로 등록하며, 각 업스트림별로 캐시 유지 시간을 개별 설정합니다. * **인증 통합**: dhi.io와 같이 유료나 보안이 필요한 레지스트리는 사용자 이름과 액세스 토큰을 가상 레지스트리 레벨에서 중앙 집중식으로 설정합니다. * **단일 엔드포인트 활용**: 모든 파이프라인에서 각기 다른 도메인 대신 `gitlab.com/virtual_registries/container/<ID>/<image>` 형태의 단일 주소를 사용하도록 통일합니다. 보안과 성능이라는 두 마리 토끼를 잡아야 하는 플랫폼 엔지니어에게 GitLab 가상 레지스트리는 필수적인 도구입니다. Docker Hardened Images를 최상위 업스트림으로 설정하여 가상 레지스트리를 구성하면, 개발자에게 추가적인 학습이나 설정의 부담을 주지 않으면서도 조직 전체의 컨테이너 보안 공급망을 자연스럽게 강화할 수 있습니다.

gitlab원문

GitLab Duo 에이전트 플랫폼을 활용한 탐지 격차 분석 자동화 (새 탭에서 열림)

GitLab의 Signals Engineering 팀은 보안 침해 사고 이후 발생하는 '탐지 격차(Detection Gap)' 분석을 자동화하기 위해 **GitLab Duo Agent Platform**을 활용하고 있습니다. 이 플랫폼은 AI 에이전트가 사고 타임라인과 데이터를 직접 분석하여 수동 검토 없이도 미흡했던 탐지 지점을 찾아내고, 이를 MITRE ATT&CK 프레임워크에 매핑하여 구체적인 개선안을 제시하도록 돕습니다. 결과적으로 보안 팀은 반복적이고 소모적인 분석 업무에서 벗어나 실제 탐지 역량을 강화하는 데 집중할 수 있게 되었습니다. ### 탐지 격차 분석의 어려움과 자동화의 필요성 * **탐지 격차의 정의:** 공격자가 행동을 취했음에도 불구하고 기존 보안 탐지 시스템이 이를 포착하지 못한 지점을 의미합니다. * **수동 분석의 한계:** 사고 데이터를 일일이 읽고 공격자의 행동을 탐지 기회와 매핑하는 작업은 시간이 많이 걸리며, 담당 엔지니어에 따라 결과가 일관되지 않을 가능성이 큽니다. * **워크플로우 통합:** GitLab 팀은 사고 기록이 남는 'GitLab Issues' 내에서 분석 과정이 자연스럽게 이루어지도록 자동화된 프로세스를 구축했습니다. ### GitLab Duo Agent Platform의 특징 * **에이전트 기반 프레임워크:** 단순한 챗봇을 넘어 추론하고, 행동을 취하며, 이슈(Issues)나 머지 리퀘스트(MR), 코드와 같은 GitLab 리소스와 기본적으로 통합되는 AI 에이전트를 구축할 수 있습니다. * **두 가지 활용 경로:** 즉시 사용 가능한 '보안 분석가 에이전트(Security Analyst Agent)'를 활용하거나, 특정 팀의 표준에 맞춘 '맞춤형 에이전트'를 직접 제작할 수 있습니다. ### 보안 분석가 에이전트 (Security Analyst Agent) 활용 * **즉각적인 도입:** 보안 도메인 지식이 사전 학습되어 있어, 종료된 사고 이슈에서 에이전트를 호출하는 것만으로 분석을 시작할 수 있습니다. * **분석 범위:** 사고 설명, 타임라인, 작업 내역 및 댓글을 검토하여 탐지가 누락된 전술, 기술 및 절차(TTP)를 식별합니다. * **장단점:** 별도의 설정 없이 바로 가치를 제공하지만, 기업 고유의 SIEM 환경이나 로그 소스, 특정 탐지 표준에 대한 맥락은 부족할 수 있습니다. ### 맞춤형 탐지 엔지니어링 어시스턴트 구축 기술 GitLab 팀은 더 정교한 분석을 위해 'Detection Engineering Assistant'라는 맞춤형 에이전트를 구축했으며, 핵심은 **시스템 프롬프트(System Prompt)** 설계에 있습니다. * **명확한 역할 정의:** 에이전트에게 "GitLab Signals Engineering 팀의 탐지 엔지니어"라는 구체적인 역할을 부여하여 응답의 일관성을 높였습니다. * **탐지 철학 주입:** 오탐(False Positive)을 줄이고 행동 기반 탐지를 우선시하는 팀의 원칙을 프롬프트에 포함하여, 에이전트가 팀의 기준에 맞는 권고안을 내도록 했습니다. * **기술 스택 및 로그 소스 정보:** 실제 사용 중인 SIEM과 수집 가능한 로그 소스 정보를 입력하여, 이론적인 제안이 아닌 실제 구현 가능한 탐지 규칙을 제안하게 했습니다. * **MITRE ATT&CK 및 출력 형식 지정:** 모든 결과를 ATT&CK 기법에 매핑하고, 탐지 누락 내용, 로그 소스, 권장 접근 방식을 포함한 정형화된 리스트로 출력하도록 설정했습니다. (실제 시스템 프롬프트는 약 1,870단어, 337행에 달할 정도로 상세함) ### 실용적인 권장 사항 AI를 이용한 탐지 분석 자동화를 고려한다면, 처음에는 GitLab에서 제공하는 **보안 분석가 에이전트**로 시작하여 AI의 잠재력을 확인해 보는 것이 좋습니다. 이후 분석의 정확도를 높이고 싶다면, 팀의 고유한 탐지 표준과 인프라 정보를 상세히 담은 **시스템 프롬프트**를 설계하여 맞춤형 에이전트를 구축하는 단계로 발전시킬 것을 권장합니다.

gitlab원문

파일 트리 브라우저로 저장 (새 탭에서 열림)

GitLab 18.9 버전에서 새롭게 도입된 '파일 트리 브라우저'는 웹 환경에서도 IDE와 유사한 코드 탐색 경험을 제공하여 개발자의 생산성을 높여줍니다. 기존의 번거로운 뒤로 가기 방식이나 브레드크럼(breadcrumb) 의존 방식에서 벗어나, 파일 구조를 유지한 채 직관적으로 코드를 탐색할 수 있는 환경을 구축한 것이 핵심입니다. 이 기능은 GitLab.com뿐만 아니라 자가 관리형(Self-Managed) 및 전용(Dedicated) 인스턴스에서도 모두 사용할 수 있습니다. ### 직관적인 파일 구조 탐색 및 동기화 * **IDE 스타일의 트리 뷰**: 파일 및 디렉토리 구조를 측면 패널에 상시 표시하여, 현재 위치를 잃지 않고 코드의 계층 구조를 한눈에 파악할 수 있습니다. * **실시간 위치 동기화**: 메인 콘텐츠 영역에서 파일을 선택하면 트리 뷰가 해당 파일의 상위 디렉토리를 자동으로 확장하고 위치를 강조해 줍니다. * **유연한 레이아웃**: 트리 패널은 접거나 크기를 조절할 수 있어, 사용자의 화면 작업 공간에 맞춰 최적화가 가능합니다. ### 강력한 검색 및 키보드 중심의 내비게이션 * **빠른 파일 필터링**: 트리 브라우저가 열린 상태에서 'F' 키를 누르면 검색창이 활성화되며, 파일명이나 확장자의 일부를 입력해 원하는 파일로 즉시 이동할 수 있습니다. * **W3C ARIA 표준 준수**: 키보드 사용자와 스크린 리더 사용자를 위해 W3C ARIA treeview 패턴을 구현하였습니다. 화살표 키, Enter, Space, Home, End 키 등을 사용하여 손을 마우스로 옮기지 않고도 모든 탐색이 가능합니다. * **반응형 인터페이스**: 데스크톱에서는 사이드바 형태로 제공되지만, 작은 화면에서는 토글 방식의 드로어(drawer)로 전환되며 모바일에서는 코드 뷰를 최대로 활용할 수 있도록 숨김 처리됩니다. ### 대규모 저장소를 위한 성능 최적화 * **페이지네이션(Pagination) 적용**: 항목이 매우 많은 대형 저장소에서도 성능 저하가 발생하지 않도록 페이지네이션 기술을 도입하여 필요한 만큼 데이터를 로드합니다. * **확장성**: 프로젝트 규모가 커지더라도 트리 뷰의 응답성을 유지하도록 설계되어 대규모 엔터프라이즈 환경에서도 쾌적한 사용이 가능합니다. ### 활용 팁 및 권장 사항 새로운 파일 트리 브라우저를 효율적으로 사용하려면 `Shift + F` 단축키를 기억하는 것이 좋습니다. 저장소 뷰에서 이 키를 눌러 브라우저를 즉시 켜고 끌 수 있으며, 파일 검색 시에는 `F` 키를 활용해 계층 구조를 일일이 클릭하지 않고도 대상 파일에 접근하는 방식을 추천합니다. GitLab은 향후 성능 및 접근성을 더욱 개선할 예정이므로 피드백 이슈를 통해 개선 의견을 전달하는 것도 좋은 방법입니다.

gitlab원문

깃랩 컨테이너 스 (새 탭에서 열림)

GitLab은 컨테이너 라이프사이클 전반에서 발생할 수 있는 보안 위협에 대응하기 위해 파이프라인 기반 스캐닝부터 레지스트리 모니터링까지 다섯 가지 핵심 스캐닝 방식을 제공합니다. 이를 통해 개발자는 취약점을 조기에 발견하는 '시프트 레프트(Shift-left)' 보안을 실현하고, 프로덕션 환경에 배포된 이미지의 안전성을 지속적으로 확보할 수 있습니다. 결과적으로 GitLab의 컨테이너 스캐닝은 단순한 도구를 넘어 소프트웨어 구성 분석(SCA)의 필수 요소로서 통합적인 보안 관리 워크플로우를 구축하도록 돕습니다. ### 파이프라인 기반 컨테이너 스캐닝 * **기능 및 목적**: CI/CD 파이프라인 실행 단계에서 컨테이너 이미지를 검사하여 취약점이 포함된 이미지가 배포되는 것을 사전에 차단합니다. * **기술적 특징**: 오픈 소스 보안 스캐너인 Trivy를 활용하며, Free부터 Ultimate 티어까지 폭넓게 사용할 수 있습니다. * **설정 방법**: 프로젝트의 보안 구성 메뉴에서 머지 요청(MR)을 통해 자동 설정하거나, `.gitlab-ci.yml` 파일에 `Jobs/Container-Scanning.gitlab-ci.yml` 템플릿을 직접 추가하여 활성화합니다. * **사용자 정의**: `CS_IMAGE` 변수를 통해 특정 이미지를 지정하거나, `CS_SEVERITY_THRESHOLD` 변수를 사용해 'High' 또는 'Critical' 등 특정 수준 이상의 취약점만 필터링하여 리포팅하도록 설정할 수 있습니다. ### 취약점 가시성 및 관리 통합 * **머지 요청(MR) 위젯**: 스캔 결과가 MR 페이지 내 보안 위젯에 즉시 노출되어, 개발자가 코드를 병합하기 전에 영향받는 패키지와 해결 가이드를 확인할 수 있습니다. * **중앙 집중식 취약점 보고서**: 보안 팀은 'Vulnerability Report'를 통해 프로젝트 전체의 취약점을 통합 관리하며, 상태 관리(탐지됨, 확인됨, 해결됨 등) 및 담당자 할당이 가능합니다. * **의존성 목록(SBOM)**: 컨테이너 내부의 모든 운영체제 패키지와 애플리케이션 라이브러리를 카탈로그화하여 제공합니다. 이를 통해 소프트웨어 자재 명세서(SBOM)를 관리하고 공급망 보안을 강화할 수 있습니다. ### 레지스트리용 컨테이너 스캐닝 * **자동 모니터링**: GitLab 컨테이너 레지스트리에 푸시된 `latest` 태그 이미지를 대상으로 보안 정책 봇이 자동 스캔을 트리거합니다. * **지속적 취약점 탐지**: Ultimate 티어에서 제공되는 이 기능은 수동 파이프라인 실행 없이도 최신 취약점 데이터베이스(Advisories)를 바탕으로 이미지를 지속적으로 감시합니다. * **활성화 조건**: 프로젝트에 최소 하나 이상의 커밋이 있어야 하며, 컨테이너 레지스트리 알림 기능이 구성된 상태에서 '보안 구성' 메뉴의 토글 스위치를 통해 활성화할 수 있습니다. ### 성공적인 컨테이너 보안을 위한 제언 효과적인 보안 운영을 위해 먼저 **파이프라인 기반 스캐닝**을 도입하여 개발 초기 단계에서 취약점을 걸러내는 환경을 조성하는 것이 중요합니다. 이후 서비스 규모가 커지면 **레지스트리용 스캐닝**을 병행하여 배포된 이후에 새롭게 발견되는 제로데이 취약점 등에 실시간으로 대응하는 다층 방어 전략을 권장합니다.

gitlab원문

GitLab Duo 에이전 (새 탭에서 열림)

GitLab Duo Agent Platform이 MCP(Model Context Protocol)를 지원함에 따라, 이제 개발자들은 Jira와 같은 외부 도구를 AI 개발 환경에 직접 연결하여 사용할 수 있게 되었습니다. 이를 통해 IDE를 벗어나지 않고도 자연어 대화만으로 Jira 이슈를 조회, 생성 및 업데이트하며 프로젝트 관리와 코드 작성을 통합할 수 있습니다. 결과적으로 도구 간의 빈번한 맥락 전환(Context Switching)을 줄여 개발 생산성을 극대화하고 워크플로우를 단순화할 수 있는 강력한 환경을 제공합니다. ### MCP 연동 아키텍처 및 보안 설정 * GitLab Duo Agent Platform은 MCP 클라이언트 역할을 수행하며, Atlassian MCP 서버와 통신하여 Jira 데이터에 접근합니다. * 보안 인증을 위해 Atlassian 개발자 콘솔에서 OAuth 2.0 애플리케이션을 생성해야 하며, `read:jira-work`, `write:jira-work`, `read:jira-user`와 같은 구체적인 API 권한(Scope) 설정이 필요합니다. * 인증 과정에서 콜백 URL(`https://gitlab.com/oauth/callback`)을 등록하고 발급된 Client ID와 Secret을 안전하게 관리해야 합니다. ### GitLab Duo MCP 클라이언트 구성 및 검증 * 프로젝트의 `.gitlab/duo/mcp.json` 경로에 MCP 서버 설정 파일을 생성합니다. 이 파일에는 서버 URL과 앞서 발급받은 OAuth 인증 정보가 포함됩니다. * GitLab 그룹 설정의 'GitLab Duo' 메뉴에서 외부 MCP 도구 허용 옵션(`Allow external MCP tools`)을 활성화해야 정상적으로 작동합니다. * VS Code 내 'GitLab: Show MCP Dashboard' 기능을 통해 연결 상태를 모니터링할 수 있으며, `jira_get_issue`, `jira_create_issue` 등 사용 가능한 도구 목록과 실시간 서버 로그를 확인할 수 있습니다. ### 실무 적용을 위한 주요 활용 사례 * **기획 및 관리 보조:** "할당되지 않은 이슈 목록 보여줘", "우선순위가 높은 이슈 2개를 요약하고 나에게 할당해줘"와 같은 프롬프트를 통해 스프린트 계획을 IDE 내에서 즉시 처리할 수 있습니다. * **코드 맥락 기반 이슈 생성:** 코드 리뷰 중 버그를 발견했을 때, 별도의 브라우저 실행 없이 현재 코드의 맥락을 포함하여 Jira 티켓을 즉시 생성하고 관련 브랜치와 연결할 수 있습니다. * **워크플로우 자동화:** 자연어 요청을 통해 Jira의 복잡한 필드를 자동으로 채우거나, 코드 분석 결과에 따라 관련 블로커(Blocker)를 검색하는 등 지능적인 협업이 가능해집니다. 개발팀은 MCP를 활용해 Jira뿐만 아니라 MCP 규격을 지원하는 다양한 외부 도구를 GitLab Duo에 통합함으로써 커스텀 AI 에이전트 환경을 구축할 수 있습니다. 툴 간 전환 비용을 줄이고 개발 집중도를 높이고 싶다면, 가이드에 따라 `.gitlab/duo/mcp.json` 설정을 완료하고 첫 번째 MCP 워크플로우를 시작해 보시기 바랍니다.