Code Stream에서 CICD(지속적 통합 및 지속적 전달) 파이프라인을 생성하려는 경우 CICD 스마트 템플릿을 사용할 수 있습니다. CICD 기본 구축을 계획하려면 스마트 템플릿을 사용하여 이 예시 계획에서 파이프라인을 생성하기 전에 해당 스마트 템플릿을 작성하는 데 필요한 정보를 수집해야 합니다.

스마트 템플릿에 정보를 입력하고 저장하면 템플릿은 단계와 작업이 포함된 파이프라인을 생성합니다. 또한 선택한 환경 유형(예: Dev 및 Prod)에 기반하여 이미지를 배포할 위치도 표시됩니다. 파이프라인은 Docker 이미지를 게시하고, 파이프라인을 실행하는 데 필요한 작업도 수행합니다. 파이프라인 실행 후에는 파이프라인 실행 전반의 추세를 모니터링할 수 있습니다.

CICD 파이프라인을 생성하려면 파이프라인의 CI(지속적 통합) 단계와 CD(지속적 전달) 단계 둘 모두를 계획해야 합니다.

파이프라인에 Docker Hub의 이미지가 포함된 경우 파이프라인을 실행하기 전에 이미지에 cURL이 내장되어 있는지 확인해야 합니다. 파이프라인이 실행되면 vRealize Automation Code Stream에서 cURL을 사용하여 명령을 실행하는 이진 파일을 다운로드합니다.

CI(지속적 통합) 단계 계획

파이프라인의 CI 단계를 계획하려면 외부 및 내부 요구 사항을 설정하고, 스마트 템플릿의 CI 부분에 입력할 정보를 결정해야 합니다. 다음은 요약 정보입니다.

필요한 클라우드 기반 또는 원격 온-프레미스 끝점과 저장소

  • 개발자들이 코드를 체크인하는 Git 소스 코드 저장소. 개발자가 변경 내용을 커밋하면 Code Stream은 가장 최신 코드를 파이프라인으로 풀합니다.
  • 개발자 소스 코드가 상주하는 저장소에 대한 Git 끝점
  • 컨테이너 내부의 구축 명령을 실행할 Docker 구축 호스트에 대한 Docker 끝점
  • Code Stream이 이미지를 Kubernetes 클러스터에 배포하는 데 필요한 Kubernetes 끝점
  • 지속적 통합 테스트가 실행되는 컨테이너를 생성하는 빌더 이미지
  • Docker 구축 호스트가 빌더 이미지를 풀하는 데 필요한 이미지 레지스트리 끝점

프로젝트에 대한 액세스 권한이 필요합니다. 프로젝트는 파이프라인, 끝점, 대시보드를 포함하여 모든 작업을 그룹화합니다. Code Stream에서 프로젝트의 멤버인지 확인합니다. 그렇지 않으면 프로젝트 멤버로 추가해 달라고 Code Stream 관리자에게 요청합니다. VMware Code Stream에서 프로젝트를 추가하는 방법의 내용을 참조하십시오.

개발자가 코드 변경 내용을 커밋할 때 Code Stream이 Git 트리거를 사용하여 파이프라인을 트리거할 수 있도록 하는 Git Webhook가 필요합니다. Code Stream에서 Git 트리거를 사용하여 파이프라인을 실행하는 방법의 내용을 참조하십시오.

구축 도구 집합

  • 구축 유형(예: Maven)
  • 사용하는 모든 처리 후 구축 도구(예: JUnit, JaCoCo, Checkstyle, FindBugs 등)

게시 도구

  • 구축 컨테이너를 배포할 도구(예: Docker)
  • 이미지 태그(커밋 ID 또는 빌드 번호)

구축 작업 공간

  • Docker 끝점인 Docker 구축 호스트
  • 이미지 레지스트리. 파이프라인의 CI 부분은 선택된 레지스트리 끝점에서 이미지를 풀합니다. 컨테이너는 CI 작업을 실행하고 이미지를 배포합니다. 레지스트리에 자격 증명이 필요한 경우에는 우선 레지스트리 끝점을 생성한 후, 호스트가 레지스트리에서 이미지를 풀할 수 있도록 여기에서 선택해야 합니다.
  • 지속적 통합 작업이 실행되는 컨테이너를 생성하는 빌더 이미지의 URL

CD(지속적 전달) 단계 계획

파이프라인의 CD 단계를 계획하려면 외부 및 내부 요구 사항을 설정하고, 스마트 템플릿의 CD 부분에 입력할 정보를 결정해야 합니다.

필요한 클라우드 기반 또는 원격 온-프레미스 끝점

  • Code Stream이 이미지를 Kubernetes 클러스터에 배포하는 데 필요한 Kubernetes 끝점

환경 유형 및 파일

  • Code Stream이 애플리케이션을 배포할 모든 환경 유형(예: Dev 및 Prod). 스마트 템플릿은 사용자가 선택하는 환경 유형에 기반하여 파이프라인에 단계와 작업을 생성합니다.
    표 1. CICD 스마트 템플릿이 생성하는 파이프라인 단계
    파이프라인 컨텐츠 수행 작업
    구축-게시 단계 코드를 구축 및 테스트하고, 빌더 이미지를 생성하고, Docker 호스트에 이미지를 게시합니다.
    개발 단계 개발 AWS(Amazon Web Services) 클러스터를 사용하여 이미지를 생성하고 배포합니다. 이 단계에서는 클러스터에 네임스페이스를 생성하고 비밀 키를 생성할 수 있습니다.
    운영 단계 VMware Cloud PKS의 운영 버전을 사용하여 이미지를 운영 Kubernetes 클러스터에 배포합니다.
  • CICD 스마트 템플릿의 CD 섹션에서 선택하는 Kubernetes YAML 파일.

    파일을 적용하려면 선택을 클릭하고 Kubernetes YAML 파일을 선택한 후 프로세스를 클릭합니다. 사용 가능한 서비스와 배포 환경이 스마트 템플릿에 표시됩니다. 서비스, 클러스터 끝점 그리고 배포 전략을 선택합니다. 예를 들어 카나리아 배포 모델을 사용하려면 카나리아를 선택하고 배포 단계의 백분율을 입력합니다.

    카나리아 CICD 배포 처리

스마트 템플릿을 사용하여 블루-그린 배포를 위한 파이프라인을 생성하는 예를 보려면 VMware Code Stream에서 애플리케이션을 블루-그린 배포에 배포하는 방법의 내용을 참조하십시오.

스마트 템플릿을 사용하여 CICD 파이프라인을 생성하는 방법

모든 정보를 수집하고 필요한 설정을 완료한 후에는 다음과 같은 방법으로 CICD 스마트 템플릿에서 파이프라인을 생성합니다.

[파이프라인]에서 새 파이프라인 > 스마트 템플릿을 선택합니다.

스마트 템플릿 선택.

CICD 스마트 템플릿을 선택합니다.

CICD 스마트 템플릿에서 지속적 통합 및 제공 파이프라인 생성.

템플릿을 작성하고, 생성되는 단계와 함께 파이프라인을 저장합니다. 최종 변경 사항을 적용해야 하는 경우 파이프라인을 편집한 후 저장할 수 있습니다.

CICD 스마트 템플릿에서 생성된 새 CICD 파이프라인 단계.

그런 다음 파이프라인을 사용하도록 설정하고 실행합니다. 파이프라인이 실행된 이후 다음의 몇 가지 사항을 확인해야 합니다.

  • 파이프라인이 성공했는지 확인합니다. 실행을 클릭하고 파이프라인을 검색합니다. 실패했다면 오류를 수정하고 다시 실행합니다.
  • Git Webhook이 올바로 작동 중인지 확인합니다. Git 작업 탭은 이벤트를 표시합니다. 트리거 > Git > 작업을 클릭합니다.
  • 파이프라인 대시보드를 살펴보고 추세를 검토합니다. 대시보드를 클릭하고 파이프라인 대시보드를 검색합니다. 사용자 지정 대시보드를 생성하여 추가 KPI에 대해 보고할 수도 있습니다.

세부적인 예는 VMware Code Stream에서 GitHub 또는 GitLab 저장소의 코드를 파이프라인에 지속적으로 통합하는 방법 항목을 참조하십시오.