3부: CD 도구 체인 설정하기

이 튜토리얼을 통해 지속적 배포(CD)를 위한 도구체인 템플릿을 사용할 수 있습니다. 템플릿은 설정이 미리 구성되어 있습니다. 구성을 확인하고 제공하여 튜토리얼을 완료할 수 있습니다.

시작하기 전에

  1. 전제 조건 설정하기 완료.
  2. CI 툴체인 설정하기 완료.
  3. 다음 동영상을 확인하세요:

  1. 보안 CD 애플리케이션 배포를 위한 DevSecOps 사례 를 참조하세요.

CD 도구 체인 설정 시작

Continuous Delivery 서비스는 CD 툴체인 설정 과정을 안내하는 템플릿을 제공합니다. CD 툴체인용 템플릿에 액세스하려면 다음 단계를 따르세요.

  1. IBM Cloud 콘솔 에서 메뉴 아이콘 메뉴 아이콘 > 플랫폼 자동화 > 툴체인을 클릭합니다.
  2. 도구 체인 페이지에서 도구 체인 작성을 클릭하십시오.
  3. 템플릿을 보려면 CD - DevSecOps 사례로 보안 앱 배포 타일을 클릭합니다.

도구 체인 설정 설정

환영 페이지에는 문서 및 관련 자료에 대한 안내와 함께 툴체인의 목적이 요약되어 있습니다.

  1. 시작을 클릭하십시오.

  2. 고유한 툴체인 이름을 입력합니다. 참고 툴체인 영역이 클러스터 및 Container Registry 영역과 다를 수 있습니다.

  3. 지역 선택리소스 그룹 선택이 나열됩니다. 지역을 편집할 수 있습니다.

  4. 선택적으로 드롭다운에서 관련 CI(지속적 통합) 툴체인 선택하기을 사용할 수 있습니다. CD 툴체인 설정을 돕기 위해 일부 CI 구성을 복사합니다. 이미 입력한 일부 값을 덮어쓸 수 있습니다.

  5. 계속을 클릭합니다.

    현재 단계의 구성이 완료되어 유효한 경우에만 다음 단계로 진행할 수 있습니다. 언제든지 뒤로하기를 클릭하여 안내된 설치 관리자에서 이전 단계를 볼 수 있습니다. 도구 체인 설치 프로그램은 연속적인 단계의 모든 구성 설정을 유지합니다.

    일부 단계에는 고급 구성으로 전환 토글 버튼이 포함되어 있습니다. 이 단계에서는 기본적으로 최소한의 구성이 제공됩니다. 그러나 보다 세밀한 제어가 필요한 고급 사용자는 고급 구성으로 전환 토글을 클릭하여 기본 통합 옵션을 표시할 수 있습니다.

도구 통합 설정

이 단계에서 이미 기존 CI 도구 체인에 연결한 경우 도구 체인 이름, 지역, 리포지토리 및 기타 필드가 미리 채워져 있습니다. 저장소 URL을 검토한 후 다음 단계를 계속하십시오.

인벤토리

  1. CI 툴체인에서 구성된 인벤토리 저장소의 저장소 URL 를 선택합니다.
  2. 계속을 클릭합니다.

문제

  1. CD 파이프라인이 실행되는 동안 이슈를 기록하려면 저장소 URL 를 선택하십시오. CI 툴체인 중에 생성된 기존 이슈 리포지토리를 사용한다는 점에 유의하세요.
  2. 계속을 클릭합니다.

파이프라인 구성

파이프라인 구성 리포지토리에는 배포, 테스트 및 기타 사용자 지정 작업에 필요한 YAML 파일과 스크립트가 포함되어 있습니다.

  1. 소스 제공자에 대한 기본 설정을 수락합니다.

    구성 저장소가 없는 경우 고급 구성 전환을 사용으로 설정하고 복제 저장소 유형을 선택하십시오. 이 툴체인은 귀하의 Git 조직에 샘플 구성을 복제합니다. Git 저장소에 대한 자세한 내용은 Git Repos and Issue Tracking 구성하기를 참조하십시오. 사용자 지정 스크립트에 대한 자세한 내용은 사용자 지정 스크립트 를 참조하세요.

  2. 고유한 새 리포지토리 이름를 입력합니다.

  3. 계속을 클릭합니다.

시크릿

  1. 이 튜토리얼에서는 IBM Cloud® Secrets Manager 를 비밀 저장소로 사용합니다. 지역, 리소스 그룹, 서비스 이름 필드는 사용 가능한 선택 항목에 따라 자동으로 채워집니다. 드롭다운 표시기를 클릭하면 다른 선택 사항을 볼 수 있습니다.
  2. Secrets Manager 인스턴스 이름을 입력합니다.
  3. 드롭다운 목록에서 권한 부여 유형을 선택합니다.
  4. 계속을 클릭합니다.

증거 스토리지

  1. 기존 증거 보관함 저장소 사용를 선택합니다.
  2. 지속적 통합(CI) 툴체인을 구성할 때 생성된 저장소 URL 를 선택합니다. 증거 보관에 대한 자세한 내용은 증거 를 참조하세요.
  3. IBM Cloud Object Storage 버킷 슬라이더를 토글하여 모든 증거를 IBM Cloud Object Storage 버킷에 저장할 수 있습니다.
  4. 계속을 클릭합니다.

클라우드 Object Storage 버킷

  1. 자동으로 채워진 IBM Cloud Object Storage 세부 정보를 확인하고 수락합니다. 규정 준수 증거 보관함 역할을 할 수 있는 버킷 구성에 대한 자세한 내용은 증거 보관용 Object Storage 구성하기 를 참조하세요.
  2. IBM Cloud Object Storage 인스턴스에 쓰기 위한 서비스 API 키을 입력합니다.
  3. 계속을 클릭합니다.

아티팩트 서명

  1. 선택적으로 코드 서명 인증서를 입력하여 아티팩트에 대한 서명의 유효성을 확인합니다. 예를 들어, 프로덕션에 배포되기 전에 CI 파이프라인에서 빌드하고 서명하는 Docker 아티팩트를 예로 들 수 있습니다.
  2. 계속을 클릭합니다.

배치 대상

  1. 단일 클러스터(푸시 기반 배포) 에 동의하여 가상 서버 인스턴스와 같은 대상에 애플리케이션을 배포하거나 배포 프로세스를 사용자 지정하려면 사용자 지정 옵션을 사용하세요.
  2. 클러스터 페이지를 보려면 계속를 클릭합니다.
  3. 여러 작업에서 CLI 도구와 상호 작용하려면 IBM Cloud API 키 필드를 입력합니다. 기존 키는 키 아이콘을 클릭하여 비밀 보관함에서 가져올 수 있습니다.
  4. 클러스터 지역, 리소스 그룹, 클러스터 이름클러스터 네임스페이스 필드에서 대상 클러스터가 생성된 위치를 확인합니다.
  5. 계속을 클릭합니다.

변경 요청 관리

  1. 변경 요청 관리를 위해 입력된 값을 수락합니다. 자세한 정보는 변경 관리 자동화 를 참조하십시오.
  2. 고유한 새 리포지토리 이름를 입력합니다.
  3. 대상 환경 목적Production 로 설정합니다.
  4. 타겟 환경 세부 정보를 설정합니다.
  5. 계속을 클릭합니다.

DevOps Insights 툴체인

다른 툴체인의 기존 DevOps Insights 인스턴스를 이 파이프라인에 연결하여 CI 및 CD 툴체인 파이프라인의 모든 빌드, 배포 및 테스트 기록을 같은 위치에 수집할 수 있도록 합니다.

CD 툴체인은 배포 레코드를 기존 DevOps Insights 인스턴스에 게시할 수 있습니다. 이 기능을 사용하려면 DevOps Insights 툴체인 ID 목록에서 기존 DevOps Insights 인스턴스가 포함된 툴체인 ID를 입력합니다.

IBM Cloud DevOps Insights 가 툴체인에 포함되어 있습니다. 모든 배포 및 환경에서 모든 빌드에 대한 파이프라인 테스트 결과를 확인하세요.

  1. DevOps Insights IBM Cloud API 키를 입력합니다를 입력하세요.
  2. 기본 구성을 수락합니다.
  3. 계속을 클릭합니다.

선택적 도구

Slack

풀 리퀘스트 또는 CI 파이프라인 이벤트에 대한 알림을 받도록 Slack 를 구성하세요. 툴체인 생성 후 Slack 도구를 추가할 수도 있습니다.

  1. Slack 웹훅을 입력합니다. 자세한 내용은 Slack 웹훅 를 참조하세요.
  2. 메시지를 게시할 슬랙 채널를 입력합니다.
  3. 슬랙 팀 이름를 입력합니다. 예를 들어 URL 팀이 https://team.slack.com 인 경우 팀 이름은 team 입니다.
  4. 알림을 받고자 하는 이벤트에 대해 자동화된 Slack 알림를 선택합니다.
  5. 계속을 클릭합니다.

원하는 경우 slack-notifications 환경 속성을 사용하여 CD 파이프라인에서 0 = off, and 1 = on 를 사용하여 알림 전송을 전환할 수 있습니다.

CD 도구 체인 작성

개별 툴체인 통합은 파이프라인 생성 후 구성할 수 있습니다.

  1. 요약 페이지에서 툴체인 만들기를 클릭하고 툴체인이 생성될 때까지 기다립니다.

DevSecOps CD 툴체인이 생성되었습니다.
DevSecOps CD 툴체인이 생성되었습니다.

CD 도구 체인 탐색

  1. 이제 CD 툴체인이 생성되었으므로 cd-pipeline 타일을 클릭하여 프로모션 파이프라인을 열고 실행합니다.

승격 파이프라인 실행

프로모션 파이프라인을 실행하기 전에 CI 파이프라인이 성공적으로 실행되었는지 확인하세요.

  1. cd-pipeline 를 클릭합니다.

  2. 실행을 클릭하여 수동 프로모션 트리거 파이프라인을 클릭합니다.

  3. 실행을 클릭하여 파이프라인을 트리거합니다.

  4. 수동 프로모션 트리거 > #1promotion-pipelinerun 파이프라인을 클릭합니다. 프로모션 파이프라인 실행이 완료될 때까지 기다렸다가 실행 로그를 확인합니다.

    프로모션 파이프라인은 staging 또는 production 와 같은 인벤토리 대상 환경 브랜치를 대상으로 master 브랜치와 같은 인벤토리 소스 환경의 인벤토리 콘텐츠로 풀 리퀘스트를 생성합니다.

  5. 프로모션 파이프라인이 성공적으로 완료되면 promote 작업 로그에 인벤토리 리포지토리의 풀 리퀘스트에 대한 링크가 제공됩니다. 풀 리퀘스트 이름은 promote <inventory source environment> to <inventory target environment> 형식입니다(예: promote master to prod)

  6. 로그에 제공된 링크를 통해 브라우저에서 풀 리퀘스트를 엽니다. 다음 섹션에서 세부 정보를 작성하세요:

    • 우선순위: (필수) Critical, High, Moderate, Low 또는 Planning 으로 설정합니다.
    • 변경 요청 양 수인: (필수) 양수인의 Email-ID.
    • 추가 설명: 애플리케이션의 변경 사항에 대한 설명입니다.
    • 목적/목표: 애플리케이션에 적용된 변경 사항의 목적입니다.
    • 영향에 대한 설명: 애플리케이션 동작 또는 환경에 대한 변경의 영향입니다.
    • 백아웃 계획: 배포 실패 시 백아웃을 위한 단계입니다.
  7. 풀 리퀘스트의 필드를 작성하고 저장합니다.

  8. CI에서 규정 준수 검사에 실패하여 배포 계속 진행 을 원하는 경우 풀 리퀘스트에 EMERGENCY 레이블을 추가합니다

  9. Git Repos and Issue Tracking의 가져오기 요청을 병합하십시오.

풀 리퀘스트의 세부 정보는 변경 요청 리포지토리에서 생성 및 업데이트하기 위해 실행되는 CD 파이프라인 중에 사용됩니다.

CD 파이프라인 실행

수동 또는 자동 방식으로 CD 파이프라인을 트리거할 수 있습니다. 언제든지 수동으로 CD 파이프라인을 트리거할 수 있지만, 마지막으로 성공적으로 배포한 이후 변경 사항이 없으면 배포할 항목이 없으므로 CD 파이프라인이 조기에 중지됩니다. force-redeploy 변수 를 추가하고 사용하여 코드를 변경하지 않고 CD를 다시 실행할 수 있습니다. DevSecOps CD 파이프라인의 성공적인 화면 캡처를 확인합니다.

DevSecOps CD 파이프라인 성공
DevSecOps CD 파이프라인 성공

프로덕션 네임스페이스에서 실행 중인 샘플 앱을 찾을 수 있습니다. URL 앱은 run stage 하위 단계의 prod deployment 단계의 CD 파이프라인 실행 로그에서 찾을 수 있습니다. URL 을 사용하여 앱이 실행 중인지 확인합니다.

다음 단계

DevSecOps CD 도구 체인을 성공적으로 생성하고 cd-pipeline 을 실행하여 프로덕션 환경에서 수동으로 트리거했습니다.

이제 CC 툴체인 설정하기 를 계속 진행합니다.