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로 설정합니다. - 타겟 환경 세부 정보를 설정합니다.
- 계속을 클릭합니다.
선택적 도구
Slack
풀 리퀘스트 또는 CI 파이프라인 이벤트에 대한 알림을 받도록 Slack 를 구성하세요. 툴체인 생성 후 Slack 도구를 추가할 수도 있습니다.
- Slack 웹훅 을 입력하세요. 자세한 내용은 Slack 웹훅 를 참조하세요.
- 메시지를 게시할 슬랙 채널를 입력합니다.
- 슬랙 팀 이름를 입력합니다. 예를 들어, 팀 URL 의 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파이프라인을 클릭합니다. 프로모션 파이프라인 실행이 완료될 때까지 기다렸다가 실행 로그를 확인합니다.프로모션 파이프라인은
master와 같은 인벤토리 소스 환경의 인벤토리 내용을 포함하여,staging또는production와 같은 인벤토리 대상 환경 브랜치를 대상으로 하는 풀 리퀘스트를 생성합니다. -
프로모션 파이프라인이 성공적으로 완료되면, ‘
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 앱은 CD 파이프라인 실행의 “ prod deployment ” 단계에 대한 “ run stage ” 하위 단계의 로그에서 확인할 수 있습니다. URL 를 사용하여 앱이 실행 중인지 확인하세요.
다음 단계
DevSecOps CD 도구 체인을 성공적으로 생성하고 cd-pipeline 을 실행하여 프로덕션 환경에서 수동으로 트리거했습니다.
이제 CC 툴체인 설정하기 를 계속 진행합니다.