최근 AWS CodeCommit의 중단 발표로 인해 많은 개발팀이 해당 제품을 대체할 솔루션을 찾고 계셨을 것 같습니다. 그 중 하나인 GitLab도 고민하셨을 것 같은데요. 이미 많은 분들께서 GitLab으로의 마이그레이션을 고려하고 있습니다. 서비스 중단 발표를 한 AWS CodeCommit의 기능을 자세히 소개하고, 해당 서비스를 대체할 수 있는 GitLab을 소개드리며 GitLab으로의 마이그레이션 방법에 대해 심층적으로 설명하겠습니다.
AWS CodeCommit Introduction
AWS CodeCommit이란?
AWS CodeCommit은 Amazon Web Services가 제공하는 완전 관리형 소스 제어 서비스입니다. Git 기반의 이 서비스는 소프트웨어 개발 프로젝트의 소스 코드와 기타 자산을 안전하게 저장하고 관리할 수 있게 해줍니다. AWS에서 호스팅되는 Git 리포지토리를 통해 개발자들은 프로젝트 파일을 쉽게 버전 관리하고 팀원과의 협업을 원활하게 진행할 수 있습니다.
AWS CodeCommit 다이어그램
주요 기능
완전 관리형 서비스: AWS가 인프라를 관리하므로 사용자는 서버와 관련된 복잡한 작업에서 벗어나 소프트웨어 개발에 집중할 수 있습니다.
강력한 보안: IAM(Identity and Access Management)과 통합되어 세밀한 권한 관리가 가능합니다. 이를 통해 특정 사용자에게만 필요한 접근 권한을 부여할 수 있습니다.
무제한 저장소: 필요에 따라 무제한으로 리포지토리를 생성하고 사용자가 원하는 대로 관리할 수 있습니다.
고가용성: AWS 인프라를 통해 높은 가용성을 제공하고, 데이터 손실을 방지합니다.
서비스 중단 발표
2024년 7월 25일, AWS는 CodeCommit 서비스에 대한 주요 발표를 하였습니다. AWS는 신규 고객의 접근을 중단하고, 기존 고객은 계속 사용 가능하지만 향후 새로운 기능은 추가하지 않겠다고 밝혔습니다. 보안, 가용성 및 성능 개선에만 집중할 것이라고 하여, 많은 개발팀이 새로운 소스 제어 서비스를 찾기 시작했습니다. 이러한 변화는 GitLab으로의 마이그레이션을 고려하게 만든 주된 요인입니다. GitLab은 강력한 협업 기능과 CI/CD 파이프라인을 제공하며, 기존 AWS 서비스를 통합할 수 있는 유연성을 가지고 있습니다.
AWS CodeCommit에서 GitLab으로 마이그레이션하기
마이그레이션 가이드 개요
이 가이드 시리즈는 GitLab을 사용하는 개발팀이 AWS 서비스를 통합하거나 AWS에서 호스팅한 Git 리포지토리를 GitLab.com으로 마이그레이션하는 방법을 설명합니다. 각 접근 방식의 이점과 필요한 단계를 안내합니다. 특히 병렬 마이그레이션의 중요성에 대해 강조하고, AWS CodeBuild 및 CodePipeline과의 통합 방법도 다룰 예정입니다. 이 가이드는 총 3편으로 나뉘어 제공될 수 있습니다.
병렬 마이그레이션의 중요성
대규모 시스템 마이그레이션은 여러 위험이 따릅니다. 특히 진행 중인 개발 작업, 기존 통합 및 자동화된 프로세스에 미치는 잠재적 영향이 있습니다. 병렬 마이그레이션 접근 방식을 채택하면 다음의 이점을 제공합니다:
위험 최소화: 기존 시스템을 작동 상태로 유지하면서 새로운 환경을 테스트할 수 있습니다.
원활한 전환: 개발 팀은 점진적으로 새 시스템에 적응하게 됩니다.
통합 테스트: 새로운 환경에서 모든 통합 및 자동화를 철저히 테스트할 수 있습니다.
미래 대비: 팀이 기존 CI와 병행하여 GitLab CI/CD로 점진적으로 이동할 수 있게 합니다.
이러한 이유로 병렬 마이그레이션은 많은 팀에 추천되는 전략입니다.
GitLab.com으로 마이그레이션하기 위한 단계
단계 1: GitLab.com 설정하기
기존 그룹 확인: 회사에서 GitLab.com에 이미 그룹이 있는지 확인하고, Single Sign-On(SSO) 설정이 되어 있는지 점검합니다. SSO가 설정되어 있다면 이를 활용하여 사용자 인증을 간소화할 수 있습니다.
새 계정 생성: 회사가 GitLab.com에 존재하지 않는 경우, GitLab.com을 방문하여 새 계정을 만들거나 기존 계정에 로그인합니다.
네임스페이스 생성: 회사의 전체 이름을 반영하는 네임스페이스를 만들고, 이 이름이 이미 사용 중이 아닌지 확인합니다.
GitLab 설정 단계
단계 2: 리포지토리 가져오기
미러링 기능 활용: GitLab의 풀 미러링 기능을 사용하여 AWS에서 호스팅하는 리포지토리에서 GitLab.com으로 변경 사항을 자동으로 동기화합니다.
이를 통해 기존 리포지토리에서의 작업이 GitLab으로 반영됩니다.
GitLab.com의 대상 그룹으로 이동하여 오른쪽 상단에서 “새 프로젝트”를 클릭합니다.
인증 설정: AWS CodeCommit 콘솔에서 마이그레이션할 저장소의 복제 URL을 선택하여 GitLab으로 가져옵니다.
이 과정에서 IAM 사용자에 대한 Git 자격 증명을 제공해야 합니다. AWS 가이드에 따라 Git 자격 증명을 생성할 수 있습니다.
단계 3: 통합 테스트 및 검증
CI/CD 파이프라인 설정: GitLab CI에서 .gitlab-ci.yml 파일을 설정하여 기존 CI/CD 파이프라인을 복제합니다. 이를 통해 새로운 환경에서의 빌드 및 배포 과정을 검증합니다.
문제 추적: 프로젝트 문제를 가져오고, 워크플로를 테스트하여 문제 추적 시스템이 제대로 작동하는지 확인합니다.
코드 검토: 병합 요청 프로세스를 설정하고 검토 워크플로를 테스트합니다. 이를 통해 코드 품질을 유지할 수 있습니다.
CI/CD Pipeline
단계 4: 점진적 마이그레이션
작은 프로젝트부터 시작: GitLab.com에서 작업하는 데 익숙해지기 위해 작고 중요하지 않은 프로젝트부터 마이그레이션을 시작합니다. 이 과정에서 팀원들이 새로운 환경에 적응할 수 있도록 합니다.
팀원 교육 제공: 새로운 워크플로에 적응할 수 있도록 팀원들에게 교육을 제공하고, 충분한 시간을 할애합니다.
단계 5: 마이그레이션 완료
최종 마이그레이션 계획: 모든 테스트와 검증이 완료되면 전체 마이그레이션을 계획합니다. 각 프로젝트에 대해 마이그레이션 날짜를 설정하고 모든 이해 관계자에게 알립니다.
최종 데이터 동기화: 최종 데이터 동기화를 수행한 후, GitLab 프로젝트에서 미러링 설정을 제거하고 AWS 호스팅 리포지토리를 읽기 전용으로 설정합니다.
단계 6: 새로운 기능 도입 평가
GitLab의 고급 기능 탐색: GitLab의 협업 및 워크플로 자동화 기능은 CodeCommit보다 훨씬 더 풍부합니다. 팀이 이러한 기능을 활용할 수 있도록 시간을 할애하여 새로운 기능을 평가합니다.
리포지토리가 GitLab에서 안정되면 기존 솔루션과 병렬로 GitLab CI/CD를 실험하기가 매우 쉽습니다. 팀은 프로덕션 워크플로에 영향을 미치지 않는 동안 GitLab CI/CD 자동화를 완벽하게 만드는 데 시간을 할애할 수 있습니다.
GitLab Duo Pro 쓸까말까, 고민된다면?
GitLab Duo Pro 소개
GitLab Duo Pro는 소프트웨어 개발 생명주기에서 개발자 워크플로를 향상시키기 위해 설계된 AI 기반 애드온입니다. 사용자당 월 $19의 가격으로 제공되며, GitLab의 모든 배포 옵션(SaaS, 자체 관리, 전용)에 사용할 수 있습니다. 이 애드온은 다음과 같은 여러 기능을 통합하고 있습니다:
코드 제안 기능: 코드의 줄을 자동 완성하고 주석에 따라 코드 블록을 생성하는 등 개발자의 생산성을 높입니다.
조직적 제어 기능: 팀이 AI를 활성화할 수 있는 사용자를 규제할 수 있어 보안과 규정 준수를 보장합니다.
GitLab Duo
무료 체험 제공
지금 특별한 기회를 통해 100명의 유저가 60일 동안 GitLab Duo Pro를 무료로 경험할 수 있습니다. 이 AI 기반 애드온을 활용하여 코드 작성의 효율성을 극대화하고, 개발자 워크플로를 혁신해보세요!
일본의 디지털 트윈(Digital Twin) 스마트 시티, 재난/재해 방지, 건설업, 제조업, 조선업 각 활용 사례
[필수] 개인정보 수집 및 이용 동의
메가존클라우드(이하 ‘회사’)는 아래 사항에 따라 회원님의 정보를 수집·활용하고 있습니다.
아래 사항을 숙지하시어 동의하시는 경우 확인란에 표시해 주시기 바랍니다.
1. 수집되는 개인정보 – [필수] 회사명 / 성함 / 회사 이메일
2. 수집/이용 목적 – 뉴스레터를 통해 IT산업(클라우드 산업 포함) 및 메가존클라우드의 다양한 소식 및 정보를 제공하고, 이용자 분석 통계를 통해 신규 서비스 발굴 및 기존 서비스 개선, 맞춤 서비스 제공을 위해 개인정보를 활용합니다.
– (광고성 정보 수신 동의 시) 관련 신규 상품 소개, 서비스 제공 및 이용, 행사 안내 (이메일 알림)
3. 보유 및 이용 기간 – 수집일로부터 3년(단, 정보주체가 철회할 경우 지체 없이 파기)
※ 개인정보 이용 철회 방법 – 안내문 등의 동의철회 이용방법 거부 전자 메일 링크를 클릭하거나 정보 텍스트에서 거부 전자 메일 연락처에 통지하여 거부/수락 의사를 알립니다.
4. 동의 거부권 및 불이익 – 귀하는 동의를 거절할 수 있는 권리를 보유하며, 동의를 거절하는 경우 상기 이용 목적에 명시된 서비스가 제공되지 아니합니다.
– 관련 신규 상품 소개, 서비스 제공 및 이용, 행사 안내는 광고성 정보 수신 동의를 선택하신 분께만 발송됩니다. (선택하지 않은 경우, 해당 정보를 받으실 수 없습니다.)
[선택] 마케팅 활용 및 광고성 정보 수신 동의
메가존클라우드(이하 ‘회사’)는 아래 사항에 따라 회원님의 정보를 수집·활용하고 있습니다. 아래 사항을 숙지하시어 동의하시는 경우 확인란에 표시해 주시기 바랍니다
1. 수집되는 개인정보 – [필수] 회사명 / 성함 / 회사 이메일
2. 수집/이용 목적 – 행사 안내 및 제공, 신제품 안내, 소식지 발송 등 영업 마케팅 활동 ※ 본 동의에는 이메일, 문자, 전화를 이용한 광고 수신 동의가 포함됩니다.
3. 보유 및 이용 기간 – 수집일로부터 3년(단, 정보주체가 철회할 경우 지체 없이 파기)
※ 개인정보 이용 철회 방법 – 안내문 등의 동의철회 이용방법 거부 전자 메일 링크를 클릭하거나 정보 텍스트에서 거부 전자 메일 연락처에 통지하여 거부/수락 의사를 알립니다.
4. 동의 거부권 및 불이익 – 귀하는 동의를 거절할 수 있는 권리를 보유하며, 동의를 거절하는 경우 상기 이용 목적에 명시된 서비스가 제공되지 아니합니다.
– 관련 신규 상품 소개, 서비스 제공 및 이용, 행사 안내는 광고성 정보 수신 동의를 선택하신 분께만 발송됩니다. (선택하지 않은 경우, 해당 정보를 받으실 수 없습니다.)