gitlab-ci-cd

4 개의 포스트

gitlab5분 읽기큐레이션 요약

GitLab 19.2 릴리스 노트 | GitLab Docs

GitLab 19.2는 GitLab Duo와 AI 에이전트 기능을 중심으로 개발·보안·운영 자동화를 강화한 릴리스입니다. Duo CLI와 커스텀 플로우가 정식 출시되었고, 정책 기반 예약 파이프라인과 Agentic Chat 연동이 추가되었습니다. 또한 의존성 취약점 자동 수정, 비기본 브랜치 취약점 추적, 하위 그룹 단위의 Duo 접근 제어가 베타 또는 정식 기능으로 제공됩니다. ## GitLab Duo CLI 정식 출시 - 터미널에서 GitLab Duo Agent Platform을 사용할 수 있습니다. - 코드베이스에 대한 복잡한 질문을 하거나 변경 작업을 자율적으로 수행하도록 요청할 수 있습니다. - 외부 AI 도구와 달리 GitLab 프로젝트, 파이프라인, 에이전트 설정을 문맥으로 활용합니다. - 주요 기능: - 대화형 모드와 CI/CD용 헤드리스 모드 - 모델 선택 및 세션 공유 - 도구 실행 승인 - MCP(Model Context Protocol) 연결 - 슬래시 명령어와 컨텍스트 사용량·압축 관리 - `AGENTS.md`와 스킬을 활용한 사용자 정의 - `glab`을 통해 설치하거나 독립 실행형 도구로 설치할 수 있습니다. - GitLab Self-Managed와 Dedicated에서는 관리자가 기능을 켜거나 끌 수 있습니다. ## GitLab Duo 커스텀 플로우 정식 출시 - 여러 단계로 구성된 AI 기반 작업 흐름을 YAML로 정의하고 재사용할 수 있습니다. - GitLab 이벤트에 따라 반복적인 개발·운영 작업을 자동 실행합니다. - 주요 기능: - 팀별 YAML 워크플로 - 복잡한 작업을 위한 멀티 에이전트 오케스트레이션 - 승인이나 피드백을 받는 HITL(Human-in-the-loop) 체크포인트 - 멘션, 담당자 지정, 파이프라인, 머지 리퀘스트 이벤트 트리거 - 프로젝트 또는 AI Catalog에서 플로우 생성·관리 - 공개·비공개 가시성 설정 - 서비스 계정과 복합 ID를 이용한 보안 실행 - 실행 전 YAML 검증 - GitLab CI/CD 안에서 실행되므로 별도 외부 자동화 플랫폼 없이 운영할 수 있습니다. ## 예약 파이프라인 실행 정책 정식 출시 - 보안 정책 프로젝트에서 일정을 한 번 정의하면 범위 내 여러 프로젝트에 강제 적용할 수 있습니다. - 각 프로젝트의 `.gitlab-ci.yml`을 직접 수정하지 않아도 됩니다. - 커밋 활동과 무관하게 일·주·월 단위로 다음 작업을 실행할 수 있습니다. - 컴플라이언스 검사 - 보안 스캔 - 의존성 취약점 점검 - 각 정책은 별도 파이프라인으로 실행됩니다. - 시간대, 실행 시간 분산 범위, 대상 브랜치를 설정할 수 있습니다. - 코드 변경이 드문 저장소에서도 새롭게 발견된 취약점을 주기적으로 탐지하는 데 유용합니다. ## Agentic Chat에서 기본 플로우 시작 - 기존에는 특정 UI 동작, 멘션, 담당자 지정 등을 통해 시작하던 기본 플로우를 Agentic Chat 대화 중에도 실행할 수 있습니다. - 요청 내용에 맞춰 전문 플로우로 넘길 수 있습니다. - Developer Flow: 코드 변경 또는 머지 리퀘스트 생성 - Code Review Flow: 머지 리퀘스트 검토 - Fix CI/CD Pipeline Flow: 실패한 파이프라인 진단 및 수정 - 사용자가 채팅에서 전환을 승인한 뒤, 대화창이나 **AI > Sessions**에서 진행 상황을 확인합니다. ## 의존성 스캔 자동 수정 베타 - 취약한 의존성을 자동으로 수정하는 두 가지 기능이 추가되었습니다. - 자동 의존성 버전 업데이트: - 취약한 의존성을 안전한 버전으로 올리는 머지 리퀘스트를 자동 생성합니다. - 기본적으로 패치 및 마이너 버전 업데이트를 대상으로 합니다. - Agentic Breaking Change Resolution: - 의존성 업데이트 후 파이프라인이 주요 변경 사항으로 실패하면 GitLab Duo가 원인을 분석합니다. - 파이프라인 오류, 의존성 변경 로그, 프로젝트의 실제 사용 방식을 함께 검토합니다. - 같은 머지 리퀘스트에 수정 사항을 커밋하고 파이프라인을 통과할 때까지 재실행합니다. - 활성화하면 메이저 버전 업데이트도 대상에 포함됩니다. - GitLab Credits를 사용합니다. - 결과적으로 GitLab이 수정 머지 리퀘스트를 생성하고, Duo가 복잡한 호환성 문제까지 해결하는 자동화된 보안 수정 흐름을 제공합니다. ## 비기본 브랜치 취약점 추적 베타 - 기본 브랜치 외에도 장기 유지되는 릴리스·배포 브랜치의 취약점을 추적할 수 있습니다. - 예시는 다음과 같습니다. - `project-qa` - `project-prod` - `project-iOS` - `project-android` - 보안 설정에서 추적 브랜치를 추가할 수 있으며, 네임스페이스 프로젝트 수의 최대 두 배까지 등록할 수 있습니다. - 취약점 보고서와 프로젝트 보안 대시보드에서 브랜치별 필터링을 지원합니다. - CVE를 포함한 모든 취약점 유형을 추적합니다. - 브랜치가 기본 브랜치에 병합될 때 취약점 상태 메타데이터를 일관되게 유지합니다. - 추적 브랜치의 취약점 상태도 갱신할 수 있습니다. - 사용 브랜치는 너무 많이 지정하기보다 환경별·플랫폼별 장기 브랜치로 제한하는 것이 권장됩니다. ## 하위 그룹별 GitLab Duo 접근 제어 - GitLab Dedicated 및 Dedicated for Government 관리자는 특정 하위 그룹에서 Duo와 Duo Agent Platform을 제한할 수 있습니다. - 기존에는 전체 인스턴스에서 비활성화하거나 모든 그룹에서 사용 가능하게 하는 방식만 제공되었습니다. - 이제 하위 그룹별 기본 거부(default-deny) 및 허용 목록(allowlist) 정책을 적용할 수 있습니다. - 특정 그룹을 **Always off**로 잠그면 하위 그룹과 프로젝트에서도 기능을 활성화할 수 없습니다. - 다른 그룹은 Owner 권한 사용자의 선택에 맡길 수 있습니다. - 잠금 설정과 해제는 관리자만 수행할 수 있으며, 영향을 받는 Owner에게는 상위 그룹 정책으로 기능이 잠겼다는 안내가 표시됩니다. - 조직의 규정 준수와 AI 기능 사용 범위에 대한 플랫폼 거버넌스를 세밀하게 관리할 수 있습니다. ## 실용적인 적용 방향 - 개발팀은 Duo CLI와 Agentic Chat을 코드 작성, 코드 리뷰, 실패한 파이프라인 수정에 활용할 수 있습니다. - 보안팀은 예약 파이프라인 정책과 의존성 자동 수정으로 지속적인 취약점 대응 체계를 구성할 수 있습니다. - 릴리스 브랜치를 운영하는 조직은 비기본 브랜치 추적을 제한적으로 적용하는 것이 좋습니다. - 규제 환경에서는 하위 그룹별 Duo 허용 정책을 사용해 AI 기능을 조직 단위로 통제하는 것이 적합합니다.

원문 읽기(새 탭에서 열림)
gitlab4분 읽기큐레이션 요약

GitLab 패치 릴리스: 18.11.3, 18.10.6, 18.9.7 | GitLab 문서

GitLab은 2026년 5월 13일 보안 및 버그 수정이 포함된 18.11.3, 18.10.6, 18.9.7 패치 버전을 출시했으며, 모든 자체 관리형 설치 환경에 즉시 업그레이드를 권고했습니다. 이번 릴리스에는 인증된 사용자가 악성 JavaScript를 실행할 수 있는 XSS, 인증 없이 서비스를 마비시킬 수 있는 DoS, 권한 검증 오류 등이 수정되었습니다. GitLab.com은 이미 패치가 적용되었고, GitLab Dedicated 고객은 별도 조치가 필요하지 않습니다. ## 릴리스 대상과 업그레이드 권고 - 대상 버전: - GitLab 18.11.3 - GitLab 18.10.6 - GitLab 18.9.7 - CE와 EE 모두에 해당하는 수정이 포함되었습니다. - Omnibus, 소스 설치, Helm 차트 등 특정 배포 방식이 명시되지 않은 취약점은 모든 배포 유형에 영향을 줍니다. - 지원되는 버전을 운영 중인 자체 관리형 GitLab은 가능한 한 빨리 최신 패치 버전으로 업그레이드해야 합니다. - GitLab 패치 릴리스는 매월 둘째·넷째 수요일의 정기 릴리스와, 심각도가 높은 취약점에 대응하는 비정기 긴급 패치로 나뉩니다. - 보안 취약점의 상세 이슈는 패치된 릴리스 후 30일이 지나면 공개됩니다. ## XSS 취약점 수정 - **CVE-2026-7481 — Analytics 대시보드 차트 렌더링** - GitLab EE에 영향. - Developer 권한의 인증된 사용자가 입력값 검증 부실을 악용해 다른 사용자의 브라우저에서 임의 JavaScript를 실행할 수 있었습니다. - CVSS 8.7. - 16.4 이상에서 18.9.7, 18.10.6, 18.11.3 이전 버전에 영향. - **CVE-2026-5297 — 전역 검색** - GitLab CE/EE에 영향. - 인증된 사용자가 조작된 입력을 통해 다른 사용자의 브라우저에서 JavaScript를 실행할 수 있었습니다. - CVSS 8.7. - 15.11 이상에서 수정 버전 이전까지 영향. - **CVE-2026-6073 — Duo Agent 출력 렌더링** - GitLab EE에 영향. - Duo Agent 출력 처리 과정의 입력값 정제 부족으로 XSS가 발생할 수 있었습니다. - CVSS 8.7. - 18.7 이상 버전 중 수정 버전 이전에 영향. - **CVE-2026-7377 — 사용자 지정 Analytics 대시보드** - GitLab EE에 영향. - 인증된 사용자가 대시보드 입력을 조작해 다른 사용자의 브라우저 컨텍스트에서 임의 JavaScript를 실행할 수 있었습니다. - CVSS 8.7. - 18.7 이상 버전 중 수정 버전 이전에 영향. ## 인증 없이 악용 가능한 DoS 취약점 - **CVE-2026-1659 — CI/CD 작업 업데이트 API** - 특수하게 조작된 요청과 불충분한 입력 검증을 이용해 인증 없이 서비스 거부를 일으킬 수 있었습니다. - GitLab CE/EE에 영향. - CVSS 7.5. - **CVE-2025-14870 — Duo Workflows API** - 조작된 JSON 페이로드를 전송해 인증 없이 서비스 거부를 유발할 수 있었습니다. - GitLab CE/EE에 영향. - CVSS 7.5. - **CVE-2025-14869 — 내부 API 엔드포인트** - 특정 API 엔드포인트에 악성 페이로드를 보내 서비스 거부를 일으킬 수 있었습니다. - GitLab CE/EE에 영향. - CVSS 7.5. - **CVE-2026-1184 — Insights 구성** - GitLab EE에서 조작된 파일 업로드와 부적절한 검증을 통해 서비스 거부가 발생할 수 있었습니다. - CVSS 6.5. - 일부 설명에서는 인증 요구 수준이 명시되어 있으므로 외부 파일 업로드 경로를 특히 점검해야 합니다. ## 권한 및 접근 제어 취약점 - **CVE-2026-1322 — GraphQL 토큰 범위 적용** - `read_api` 범위만 가진 OAuth 애플리케이션이 비공개 프로젝트에 이슈를 생성하거나 댓글을 추가할 수 있었습니다. - 인증 및 권한 검증 오류가 원인이었습니다. - GitLab CE/EE에 영향. - CVSS 6.8. - **CVE-2026-4524 — Issues API** - 공개 프로젝트의 기밀 이슈 내용이 적절한 권한 확인 없이 노출될 수 있었습니다. - GitLab CE/EE에 영향. - CVSS 6.5. ## 공개되지 않은 추가 수정 사항 - 글 마지막에는 **CVE-2026-8280 — direct transfer CSV 파서의 DoS 취약점**이 언급되지만, 제공된 본문이 해당 항목 중간에서 끝나 구체적인 영향 버전과 CVSS 점수는 확인할 수 없습니다. 자체 관리형 GitLab 운영자는 먼저 현재 버전을 확인하고 18.9.7, 18.10.6, 18.11.3 중 지원되는 최신 버전으로 업그레이드하는 것이 가장 안전합니다. 특히 외부에 노출된 API, 검색·분석 대시보드, OAuth 토큰, 파일 업로드 기능을 사용하는 환경은 패치 전까지 접근 통제를 강화해야 합니다.

원문 읽기(새 탭에서 열림)
gitlab3분 읽기큐레이션 요약

Claude Code와 GitLab: 실제 배포로 이어지는 세 가지 워크플로

Claude Code는 코드 작성과 디버깅을 빠르게 수행하지만, 실제 배포에는 CI/CD, 보안 검사, 코드 리뷰, 승인 등 추가 과정이 필요하다. 이 글은 Claude Code와 GitLab을 결합해 버그 수정부터 머지 리퀘스트, 검증, 리뷰, 배포까지 연결하는 세 가지 워크플로를 소개한다. GitLab MCP와 Duo Agent Platform을 활용하면 AI가 로컬 코드뿐 아니라 이슈와 과거 개발 맥락까지 반영할 수 있다. ## 코드 수정과 GitLab 검증 파이프라인 연결 - C++로 작성된 Arduino IoT Collector가 `/dev/ttyACM0` 장치가 없을 때 충돌하는 버그를 예제로 사용한다. - `cmake`로 프로젝트를 빌드하고 실행해 문제를 재현한다. - Claude Code에 버그 수정을 요청하면 코드베이스를 탐색해 `main.cpp`의 `std::runtime_error` 예외가 애플리케이션을 즉시 종료시키는 원인임을 찾는다. - 수정 방향은 예외로 프로세스를 중단하는 대신 사용자 친화적인 설정 오류를 기록하고 애플리케이션은 계속 실행하도록 바꾸는 것이다. - 수정 후 Claude Code 또는 직접 Git 명령으로 다음 작업을 수행한다. - 수정 브랜치 생성 - 변경 사항 커밋 - 원격 저장소에 푸시 - 머지 리퀘스트 생성 - MR이 생성되면 GitLab이 자동으로 다음을 수행한다. - 빌드 및 테스트를 위한 CI/CD 파이프라인 실행 - 새 취약점이 추가되지 않았는지 보안 스캔 - GitLab Duo Code Review를 통한 코드 정확성 및 스타일 검토 - 코드 리뷰에는 프로젝트의 C++ 개발 규칙과 사용자 정의 리뷰 지침도 적용할 수 있다. ## GitLab MCP로 이슈와 개발 이력 활용 - 로컬 저장소만 이용하면 Claude Code가 버그 리포트, 디버깅 논의, 과거 MR의 해결 방식 등을 알 수 없다는 한계가 있다. - GitLab MCP Server를 연결하면 Claude Code가 GitLab의 SDLC 맥락을 함께 조회할 수 있다. - 관련 이슈와 설명 - 이슈 댓글 및 논의 - 과거 머지 리퀘스트 - 유사한 버그의 수정 이력 - 프로젝트 내 개발 정보 - GitLab 인스턴스 또는 최상위 그룹에서 MCP Server를 활성화한 뒤, Claude Code에 HTTP 방식으로 추가한다. ```bash claude mcp add --transport http GitLab https://gitlab.example.com/api/v4/mcp ``` - 새 Claude Code 세션에서 `/mcp`를 실행하고 브라우저 OAuth 인증을 완료한다. - MCP 도구 목록과 서버 버전을 질의해 연결 상태를 확인할 수 있다. - MCP는 Claude에 추가적인 맥락을 제공할 뿐 권한을 상승시키지 않는다. - Claude Code는 인증한 사용자가 원래 접근할 수 있는 프로젝트와 이슈만 볼 수 있다. - GitLab의 프로젝트·그룹 멤버십과 가시성 설정을 우회하지 않는다. - 별도의 관리자 권한을 자동으로 부여하지 않는다. ## Claude Code와 GitLab Duo Agent Platform의 역할 분담 - Claude Code는 터미널이나 IDE에서 코드 탐색, 버그 수정, 기능 구현을 담당한다. - GitLab은 변경 사항을 실제로 출하하기 위한 중앙 플랫폼 역할을 한다. - CI/CD - 보안 검사 - 코드 리뷰 - 승인 절차 - 감사 가능한 변경 이력 - 세 번째 워크플로에서는 GitLab Duo Agent Platform의 외부 에이전트가 Claude를 활용해 MR의 코드 리뷰 피드백을 직접 반영한다. - 따라서 개발자가 리뷰 댓글을 수동으로 해석하고 수정하는 대신, 에이전트가 MR 맥락에서 코드를 변경하고 후속 검증까지 진행할 수 있다. ## 필요한 개발 환경 - 터미널에서 실행 가능한 Claude Code - 버그와 기능 제안 이슈가 등록된 GitLab 프로젝트 - 필요에 따라 GitLab MCP Server와 GitLab Duo Agent Platform 외부 에이전트 - C++ 예제 실행 시: - CMake - Make - gcc 또는 clang++ - Java 프로젝트를 다룰 경우 Maven - 예제 프로젝트를 클론한 뒤 `claude` 명령으로 Claude Code를 실행하고 프로젝트 목적을 먼저 질의할 수 있다. 실무에서는 Claude Code를 코드 작성과 문제 해결에 사용하고, GitLab을 CI/CD·보안·리뷰·승인의 통합 관문으로 두는 방식이 효과적이다. 특히 GitLab MCP를 연결하면 AI가 단순히 현재 파일만 보고 추측하지 않고, 실제 이슈와 과거 변경 이력을 근거로 더 일관된 수정을 제안할 수 있다.

원문 읽기(새 탭에서 열림)
gitlab원문

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

GitLab Duo Agent Platform은 소프트웨어 개발 수명 주기(SDLC) 전반에 걸쳐 AI 에이전트를 통합하는 혁신적인 AI 오케스트레이션 레이어입니다. 이 플랫폼은 단순한 코드 작성을 넘어 이슈, 병합 요청(MR), CI/CD 파이프라인 등 개발 전체 맥락을 이해하며, 여러 전문 에이전트가 비동기적으로 협업하는 동적인 시스템을 제공합니다. 개발자는 이를 통해 복잡하고 반복적인 워크플로우를 자동화하고 보다 창의적인 문제 해결에 집중할 수 있습니다. ### 플랫폼의 핵심 기능과 가치 * **전방위적 SDLC 컨텍스트 활용:** 코드뿐만 아니라 이슈, 에픽(Epics), 병합 요청, 위키, 보안 스캔 결과 등 프로젝트의 모든 데이터를 AI가 이해하고 활용합니다. * **멀티 에이전트 협업:** 여러 개의 특화된 에이전트가 병렬로 작동하여 복잡한 작업을 수행하는 다중 에이전트 흐름을 지원합니다. * **지능형 자동화:** 조직의 표준, 관행 및 규정 준수 요구 사항을 이해하고 이에 맞춘 자동화 워크플로우를 실행합니다. ### 네 가지 주요 상호작용 방식 * **GitLab Duo Agentic Chat:** 웹 UI나 IDE 내 채팅 패널을 통해 기본 제공 에이전트나 커스텀 에이전트와 실시간으로 대화하며 즉각적인 도움을 받습니다. * **기본 제공 및 커스텀 플로우(Flows):** 이슈나 MR의 댓글에서 흐름을 호출하거나 리뷰어를 할당하여 자동으로 트리거합니다. 이는 러너(Runner)를 통해 비동기적으로 실행됩니다. * **외부 에이전트 연동:** Claude Code나 OpenAI Codex와 같은 외부 AI 에이전트를 멘션(@)하여 호출할 수 있으며, 플랫폼 컴퓨팅 자원을 활용해 비동기로 작동합니다. * **AI 카탈로그 및 관리:** 조직 내에서 생성된 에이전트와 플로우를 공유하고 검색할 수 있는 중앙 라이브러리를 제공하며, 모든 활동 로그는 '세션(Sessions)' 탭에서 투명하게 관리됩니다. ### 에이전트(Agents)와 플로우(Flows)의 차이점 * **에이전트(Agents):** 특정 전문 지식을 갖춘 AI 비서로, 주로 채팅 인터페이스를 통해 대화형으로 상호작용하며 즉각적인 피드백을 제공합니다. * **플로우(Flows):** 여러 단계의 작업을 자율적으로 수행하는 다단계 워크플로우입니다. 복잡한 문제를 해결하기 위해 백그라운드에서 비동기적으로 실행되며, 파이프라인 전체에 대한 액세스 권한을 가집니다. * **선택 기준:** 즉각적인 문답이 필요할 때는 '채팅/에이전트'를, 백그라운드 자동화나 여러 파일에 걸친 복잡한 작업이 필요할 때는 '플로우'를 사용하는 것이 권장됩니다. ### 실행 투명성 및 모델 선택의 유연성 * **세션 로그를 통한 추론 확인:** 모든 에이전트와 플로우의 실행 내역은 세션에 기록됩니다. 여기에는 AI의 추론 과정, 도구 호출, 최종 결정 경로가 포함되어 있어 결과의 신뢰성을 검증할 수 있습니다. * **모델 선택권:** GitLab 18.4 버전부터 사용자는 작업의 특성에 맞춰 대화에 사용할 AI 모델을 직접 선택할 수 있는 기능을 제공합니다. GitLab Duo Agent Platform을 처음 접한다면 우선 **Agentic Chat**을 통해 프로젝트의 구조나 아키텍처를 파악하는 것부터 시작해 보시기 바랍니다. 이후 익숙해지면 반복적인 코드 리뷰나 CI/CD 파이프라인 수정과 같은 작업을 **비동기 플로우**로 전환하여 개발 생산성을 극대화할 수 있습니다.