3부: CD 도구 체인 설정하기
이 튜토리얼을 통해 지속적 배포(CD)를 위한 도구체인 템플릿을 사용할 수 있습니다. 템플릿은 설정이 미리 구성되어 있습니다. 구성을 확인하고 제공하여 튜토리얼을 완료할 수 있습니다.
시작하기 전에
- 전제 조건 설정하기 완료.
- CI 툴체인 설정하기 완료.
- 다음 동영상을 확인하세요:
- 보안 CD 애플리케이션 배포를 위한 DevSecOps 사례 를 참조하세요.
CD 도구 체인 설정 시작
Continuous Delivery 서비스는 CD 툴체인 설정 과정을 안내하는 템플릿을 제공합니다. CD 툴체인용 템플릿에 액세스하려면 다음 단계를 따르세요.
- IBM Cloud 콘솔 에서 메뉴 아이콘
> 플랫폼 자동화 > 툴체인을 클릭합니다.
- 도구 체인 페이지에서 도구 체인 작성을 클릭하십시오.
- 템플릿을 보려면 CD - DevSecOps 사례로 보안 앱 배포 타일을 클릭합니다.
도구 체인 설정 설정
환영 페이지에는 문서 및 관련 자료에 대한 안내와 함께 툴체인의 목적이 요약되어 있습니다.
-
시작을 클릭하십시오.
-
고유한 툴체인 이름을 입력합니다. 참고 툴체인 영역이 클러스터 및 Container Registry 영역과 다를 수 있습니다.
-
지역 선택 및 리소스 그룹 선택이 나열됩니다. 주 지역을 편집할 수 있습니다.
-
선택적으로 드롭다운에서 관련 CI(지속적 통합) 툴체인 선택하기을 사용할 수 있습니다. CD 툴체인 설정을 돕기 위해 일부 CI 구성을 복사합니다. 주 이미 입력한 일부 값을 덮어쓸 수 있습니다.
-
계속을 클릭합니다.
현재 단계의 구성이 완료되어 유효한 경우에만 다음 단계로 진행할 수 있습니다. 언제든지 뒤로하기를 클릭하여 안내된 설치 관리자에서 이전 단계를 볼 수 있습니다. 도구 체인 설치 프로그램은 연속적인 단계의 모든 구성 설정을 유지합니다.
일부 단계에는 고급 구성으로 전환 토글 버튼이 포함되어 있습니다. 이 단계에서는 기본적으로 최소한의 구성이 제공됩니다. 그러나 보다 세밀한 제어가 필요한 고급 사용자는 고급 구성으로 전환 토글을 클릭하여 기본 통합 옵션을 표시할 수 있습니다.
도구 통합 설정
이 단계에서 이미 기존 CI 도구 체인에 연결한 경우 도구 체인 이름, 지역, 리포지토리 및 기타 필드가 미리 채워져 있습니다. 저장소 URL을 검토한 후 다음 단계를 계속하십시오.
인벤토리
- CI 툴체인에서 구성된 인벤토리 저장소의 저장소 URL 를 선택합니다.
- 계속을 클릭합니다.
문제
- CD 파이프라인이 실행되는 동안 이슈를 기록하려면 저장소 URL 를 선택하십시오. 주 CI 툴체인 중에 생성된 기존 이슈 리포지토리를 사용한다는 점에 유의하세요.
- 계속을 클릭합니다.
파이프라인 구성
파이프라인 구성 리포지토리에는 배포, 테스트 및 기타 사용자 지정 작업에 필요한 YAML 파일과 스크립트가 포함되어 있습니다.
-
소스 제공자에 대한 기본 설정을 수락합니다.
구성 저장소가 없는 경우 고급 구성 전환을 사용으로 설정하고 복제 저장소 유형을 선택하십시오. 이 툴체인은 귀하의 Git 조직에 샘플 구성을 복제합니다. Git 저장소에 대한 자세한 내용은 Git Repos and Issue Tracking 구성하기를 참조하십시오. 사용자 지정 스크립트에 대한 자세한 내용은 사용자 지정 스크립트 를 참조하세요.
-
고유한 새 리포지토리 이름를 입력합니다.
-
계속을 클릭합니다.
시크릿
- 이 튜토리얼에서는 IBM Cloud® Secrets Manager 를 비밀 저장소로 사용합니다. 지역, 리소스 그룹, 서비스 이름 필드는 사용 가능한 선택 항목에 따라 자동으로 채워집니다. 드롭다운 표시기를 클릭하면 다른 선택 사항을 볼 수 있습니다.
- Secrets Manager 인스턴스 이름을 입력합니다.
- 드롭다운 목록에서 권한 부여 유형을 선택합니다.
- 계속을 클릭합니다.
증거 스토리지
- 기존 증거 보관함 저장소 사용를 선택합니다.
- 지속적 통합(CI) 툴체인을 구성할 때 생성된 저장소 URL 를 선택합니다. 증거 보관에 대한 자세한 내용은 증거 를 참조하세요.
- IBM Cloud Object Storage 버킷 슬라이더를 토글하여 모든 증거를 IBM Cloud Object Storage 버킷에 저장할 수 있습니다.
- 계속을 클릭합니다.
클라우드 Object Storage 버킷
- 자동으로 채워진 IBM Cloud Object Storage 세부 정보를 확인하고 수락합니다. 규정 준수 증거 보관함 역할을 할 수 있는 버킷 구성에 대한 자세한 내용은 증거 보관용 Object Storage 구성하기 를 참조하세요.
- IBM Cloud Object Storage 인스턴스에 쓰기 위한 서비스 API 키을 입력합니다.
- 계속을 클릭합니다.
아티팩트 서명
- 선택적으로 코드 서명 인증서를 입력하여 아티팩트에 대한 서명의 유효성을 확인합니다. 예를 들어, 프로덕션에 배포되기 전에 CI 파이프라인에서 빌드하고 서명하는 Docker 아티팩트를 예로 들 수 있습니다.
- 계속을 클릭합니다.
배치 대상
- 단일 클러스터(푸시 기반 배포) 에 동의하여 가상 서버 인스턴스와 같은 대상에 애플리케이션을 배포하거나 배포 프로세스를 사용자 지정하려면 사용자 지정 옵션을 사용하세요.
- 클러스터 페이지를 보려면 계속를 클릭합니다.
- 여러 작업에서 CLI 도구와 상호 작용하려면 IBM Cloud API 키 필드를 입력합니다. 주 기존 키는 키 아이콘을 클릭하여 비밀 보관함에서 가져올 수 있습니다.
- 클러스터 지역, 리소스 그룹, 클러스터 이름 및 클러스터 네임스페이스 필드에서 대상 클러스터가 생성된 위치를 확인합니다.
- 계속을 클릭합니다.
변경 요청 관리
- 변경 요청 관리를 위해 입력된 값을 수락합니다. 자세한 정보는 변경 관리 자동화 를 참조하십시오.
- 고유한 새 리포지토리 이름를 입력합니다.
- 대상 환경 목적을
Production로 설정합니다. - 타겟 환경 세부 정보를 설정합니다.
- 계속을 클릭합니다.
DevOps Insights 툴체인
다른 툴체인의 기존 DevOps Insights 인스턴스를 이 파이프라인에 연결하여 CI 및 CD 툴체인 파이프라인의 모든 빌드, 배포 및 테스트 기록을 같은 위치에 수집할 수 있도록 합니다.
CD 툴체인은 배포 레코드를 기존 DevOps Insights 인스턴스에 게시할 수 있습니다. 이 기능을 사용하려면 DevOps Insights 툴체인 ID 목록에서 기존 DevOps Insights 인스턴스가 포함된 툴체인 ID를 입력합니다.
IBM Cloud DevOps Insights 가 툴체인에 포함되어 있습니다. 모든 배포 및 환경에서 모든 빌드에 대한 파이프라인 테스트 결과를 확인하세요.
- DevOps Insights IBM Cloud API 키를 입력합니다를 입력하세요.
- 기본 구성을 수락합니다.
- 계속을 클릭합니다.
선택적 도구
Slack
풀 리퀘스트 또는 CI 파이프라인 이벤트에 대한 알림을 받도록 Slack 를 구성하세요. 툴체인 생성 후 Slack 도구를 추가할 수도 있습니다.
- Slack 웹훅을 입력합니다. 자세한 내용은 Slack 웹훅 를 참조하세요.
- 메시지를 게시할 슬랙 채널를 입력합니다.
- 슬랙 팀 이름를 입력합니다. 예를 들어 URL 팀이
https://team.slack.com인 경우 팀 이름은team입니다. - 알림을 받고자 하는 이벤트에 대해 자동화된 Slack 알림를 선택합니다.
- 계속을 클릭합니다.
원하는 경우 slack-notifications 환경 속성을 사용하여 CD 파이프라인에서 0 = off, and 1 = on 를 사용하여 알림 전송을 전환할 수 있습니다.
CD 도구 체인 작성
개별 툴체인 통합은 파이프라인 생성 후 구성할 수 있습니다.
- 요약 페이지에서 툴체인 만들기를 클릭하고 툴체인이 생성될 때까지 기다립니다.
CD 도구 체인 탐색
- 이제 CD 툴체인이 생성되었으므로 cd-pipeline 타일을 클릭하여 프로모션 파이프라인을 열고 실행합니다.
승격 파이프라인 실행
프로모션 파이프라인을 실행하기 전에 CI 파이프라인이 성공적으로 실행되었는지 확인하세요.
-
cd-pipeline 를 클릭합니다.
-
실행을 클릭하여 수동 프로모션 트리거 파이프라인을 클릭합니다.
-
실행을 클릭하여 파이프라인을 트리거합니다.
-
수동 프로모션 트리거 >
#1promotion-pipelinerun파이프라인을 클릭합니다. 프로모션 파이프라인 실행이 완료될 때까지 기다렸다가 실행 로그를 확인합니다.프로모션 파이프라인은
staging또는production와 같은 인벤토리 대상 환경 브랜치를 대상으로master브랜치와 같은 인벤토리 소스 환경의 인벤토리 콘텐츠로 풀 리퀘스트를 생성합니다. -
프로모션 파이프라인이 성공적으로 완료되면
promote작업 로그에 인벤토리 리포지토리의 풀 리퀘스트에 대한 링크가 제공됩니다. 풀 리퀘스트 이름은promote <inventory source environment> to <inventory target environment>형식입니다(예:promote master to prod) -
로그에 제공된 링크를 통해 브라우저에서 풀 리퀘스트를 엽니다. 다음 섹션에서 세부 정보를 작성하세요:
- 우선순위: (필수)
Critical,High,Moderate,Low또는Planning으로 설정합니다. - 변경 요청 양 수인: (필수) 양수인의
Email-ID. - 추가 설명: 애플리케이션의 변경 사항에 대한 설명입니다.
- 목적/목표: 애플리케이션에 적용된 변경 사항의 목적입니다.
- 영향에 대한 설명: 애플리케이션 동작 또는 환경에 대한 변경의 영향입니다.
- 백아웃 계획: 배포 실패 시 백아웃을 위한 단계입니다.
- 우선순위: (필수)
-
풀 리퀘스트의 필드를 작성하고 저장합니다.
-
CI에서 규정 준수 검사에 실패하여 배포 계속 진행 을 원하는 경우 풀 리퀘스트에
EMERGENCY레이블을 추가합니다 -
Git Repos and Issue Tracking의 가져오기 요청을 병합하십시오.
풀 리퀘스트의 세부 정보는 변경 요청 리포지토리에서 생성 및 업데이트하기 위해 실행되는 CD 파이프라인 중에 사용됩니다.
CD 파이프라인 실행
수동 또는 자동 방식으로 CD 파이프라인을 트리거할 수 있습니다. 언제든지 수동으로 CD 파이프라인을 트리거할 수 있지만, 마지막으로 성공적으로 배포한 이후 변경 사항이 없으면 배포할 항목이 없으므로 CD 파이프라인이 조기에 중지됩니다. force-redeploy 변수 를 추가하고 사용하여 코드를 변경하지 않고 CD를 다시 실행할 수 있습니다. DevSecOps CD 파이프라인의 성공적인 화면 캡처를 확인합니다.
프로덕션 네임스페이스에서 실행 중인 샘플 앱을 찾을 수 있습니다. URL 앱은 run stage 하위 단계의 prod deployment 단계의 CD 파이프라인 실행 로그에서 찾을 수 있습니다. URL 을 사용하여 앱이 실행 중인지 확인합니다.
다음 단계
DevSecOps CD 도구 체인을 성공적으로 생성하고 cd-pipeline 을 실행하여 프로덕션 환경에서 수동으로 트리거했습니다.
이제 CC 툴체인 설정하기 를 계속 진행합니다.