Code Stream에서 CICD(지속적 통합 및 전달) 파이프라인을 생성하기 위해 단계와 작업을 수동으로 추가할 수 있습니다. CICD 기본 구축을 계획하기 위해 필요한 정보를 수집하고 파이프라인을 생성한 다음 여기에 단계와 작업을 수동으로 추가합니다.

파이프라인의 CI(지속적 통합) 단계와 CD(지속적 전달) 단계를 모두 계획해야 합니다. 파이프라인을 생성하고 실행한 후에는 파이프라인 실행 전반의 추세를 모니터링할 수 있습니다.

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

Code Stream 파이프라인 업무 공간은 지속적 통합 작업 및 사용자 지정 작업을 위해 Docker 및 Kubernetes를 지원합니다.

업무 공간 구성에 대한 자세한 내용은 파이프라인 작업 공간 구성에서 참조하십시오.

외부 및 내부 요구 사항 계획

파이프라인의 CI 및 CD 단계를 계획하기 위해 다음 요구 사항은 파이프라인을 생성하기 전에 수행해야 하는 작업을 나타냅니다.

이 예에서는 Docker 업무 공간을 사용합니다.

이 계획 예에서는 파이프라인을 생성하기 위해 Docker 호스트, Git 저장소, Maven 및 몇 가지 처리 후 구축 툴을 사용합니다.

필요한 끝점 및 저장소:

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

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

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

CICD 파이프라인 생성 및 업무 공간 구성 방법

파이프라인을 생성한 다음 업무 공간, 파이프라인 입력 매개 변수 및 작업을 구성해야 합니다.

파이프라인을 생성하려면 파이프라인 > 새 파이프라인 > 빈 캔버스를 클릭합니다.

파이프라인을 생성할 때 빈 캔버스를 사용할 수 있습니다.

[업무 공간] 탭에서 지속적 통합 정보를 입력합니다.

  • Docker 구축 호스트를 포함합니다.
  • 빌더 이미지의 URL을 입력합니다.
  • 파이프라인에서 이미지를 가져올 수 있도록 이미지 레지스트리 끝점을 선택합니다. 컨테이너에서 CI 작업을 실행하고 이미지를 배포합니다. 레지스트리에 자격 증명이 필요한 경우 먼저 이미지 레지스트리 끝점을 생성한 다음 여기에서 해당 끝점을 선택해야 호스트가 레지스트리에서 이미지를 가져올 수 있습니다.
  • 캐시해야 할 아티팩트를 추가합니다. 빌드의 성공을 위해 디렉토리와 같은 아티팩트가 종속적으로 다운로드됩니다. 캐시는 이러한 아티팩트가 상주하는 위치입니다. 예를 들어 종속 아티팩트에는 Maven용 .m2 디렉토리와 Node.js용 node_modules 디렉토리가 포함될 수 있습니다. 이러한 디렉토리는 파이프라인 실행 전반에 걸쳐 캐시되어 구축 동안 시간을 절약합니다.

    파이프라인을 수동으로 생성할 때는 작업 공간 탭에서 파이프라인에 대한 작업공간을 구성합니다.

[입력] 탭에서 파이프라인 입력 매개 변수를 구성합니다.

  • 파이프라인이 Git, Gerrit 또는 Docker 트리거 이벤트의 입력 매개 변수를 사용하는 경우, 자동 삽입 매개 변수에 대한 트리거 유형을 선택합니다. 이벤트에는 Gerrit 또는 Git의 제목 변경 또는 Docker에 대한 이벤트 소유자 이름이 포함될 수 있습니다. 파이프라인이 이벤트에서 전달된 입력 매개 변수를 사용하지 않는 경우 매개 변수 자동 삽입을 없음으로 설정해둡니다.
  • 값과 설명을 파이프라인 입력 매개 변수에 적용하려면 3개의 세로 점을 클릭하고 편집을 클릭합니다. 입력하는 값은 작업, 단계 또는 알림에 대한 입력으로 사용됩니다.
  • 파이프라인 입력 매개 변수를 추가하려면 추가를 클릭합니다. 예를 들어 모든 실행에 대해 기본값을 표시하기 위해 approvers를 추가할 수 있지만 런타임 시 다른 승인자를 표시하도록 재정의할 수 있습니다.
  • 삽입된 매개 변수를 추가하거나 제거하려면 삽입된 매개 변수 추가/제거를 클릭합니다. 예를 들어 사용되지 않는 매개 변수를 제거하면 결과 페이지의 복잡성을 줄이고 사용된 입력 매개 변수만 표시할 수 있습니다.

    CICD 파이프라인을 수동으로 생성할 때는 입력 탭에서 입력 매개 변수를 구성합니다.

코드를 테스트하도록 파이프라인을 구성합니다.

  • CI 작업을 추가하고 구성합니다.
  • 코드에 대해 mvn test를 실행하기 위한 단계를 추가합니다.
  • 작업이 실행된 후 문제를 식별하려면 JUnit 및 JaCoCo, FindBugs, Checkstyle과 같은 처리 후 구축 도구를 실행합니다.

    코드를 테스트하려면 단계 및 처리 후 구축 도구를 사용하여 CI 작업을 구성합니다.

코드를 구축하도록 파이프라인을 구성합니다.

  • CI 작업을 추가하고 구성합니다.
  • 코드에서 mvn clean install을 실행하는 단계를 포함합니다.
  • 위치 및 JAR 파일 이름을 포함하여 아티팩트가 보존되도록 합니다.

    코드를 구축하려면 CI 작업의 단계를 추가합니다.

이미지를 Docker 호스트에 게시하도록 파이프라인을 구성합니다.

  • CI 작업을 추가하고 구성합니다.
  • 이미지 커밋, 내보내기, 구축 및 푸시를 위한 단계를 추가합니다.
  • 다음 작업에서 사용하도록 IMAGE의 내보내기 키를 추가합니다.

    Docker 호스트에 이미지를 게시하려면 CI 작업에 단계 및 내보내기 키를 추가합니다.

업무 공간, 입력 매개 변수, 테스트 작업 및 구축 작업을 구성했으면 파이프라인을 저장합니다.

파이프라인을 사용하도록 설정하고 실행하는 방법

단계 및 작업으로 파이프라인을 구성한 후에는 파이프라인을 저장하고 사용하도록 설정할 수 있습니다.

그런 다음 파이프라인이 실행되어 완료될 때까지 기다린 후 파이프라인이 성공했는지 확인합니다. 실패했다면 오류를 수정하고 다시 실행합니다.

파이프라인이 성공했다면 다음과 같은 내용을 확인해야 합니다.

  • 파이프라인 실행을 검토하고 작업 단계의 결과를 봅니다.
  • 파이프라인 실행의 업무 공간에서, 컨테이너 및 복제된 Git 저장소에 대한 세부 정보를 찾습니다.
  • 업무 공간에서, 처리 후 도구의 결과를 살펴보고 오류, 코드 범위, 버그 및 스타일 문제를 확인합니다.
  • 아티팩트가 보존되었는지 확인합니다. 또한 이미지가 IMAGE 이름 및 값으로 내보내졌는지 확인합니다.
  • Docker 저장소로 이동하여 파이프라인에서 컨테이너를 게시했는지 확인합니다.

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