2부: CI 툴체인 설정하기
이 튜토리얼에서는 Security and Compliance Center 관련 사례로 지속적 통합(CI)을 위한 도구 체인 템플릿을 사용하는 방법을 DevSecOps에서 안내합니다. 템플릿은 인벤토리 통합을 통한 지속적 배포(CD), Git Repos and Issue Tracking로 변경 관리, 증거 수집 및 IBM Cloud Kubernetes Service에 배포하도록 미리 구성되어 있습니다.
규정 준수 및 내부 표준을 충족하도록 기업 내 계정에 대한 IAM 설정을 사용자 지정하고 중앙에서 관리할 수 있습니다.
시작하기 전에
- 사전 요구 사항 설정하기 튜토리얼을 완료합니다.
- 다음 동영상을 확인하세요:
CI 도구 체인 설정 시작
Continuous Delivery 서비스는 툴체인 설정을 안내하고 논리적인 순서로 프로세스를 생성할 수 있는 템플릿을 제공합니다. 진행 표시기는 구성을 완료하기 위한 단계를 표시합니다. 단계에 따라 CI 툴체인용 템플릿에 액세스합니다.
- IBM Cloud 콘솔에서 메뉴 아이콘
> 플랫폼 자동화 > 툴체인을 클릭합니다.
- 도구 체인 페이지에서 도구 체인 만들기를 클릭합니다.
- CI - 보안 앱 개발하기 - DevSecOps 사례 타일을 클릭합니다.
CI 툴체인 설정 설정
환영 페이지에는 문서 및 관련 자료에 대한 안내와 함께 툴체인의 목적이 요약되어 있습니다.
-
시작을 클릭하십시오.
-
툴체인 내에서 동일한 지역 및 리소스 그룹에 대한 고유한 툴체인 이름를 IBM Cloud에 입력합니다.
-
지역을 선택하십시오.
-
리소스 그룹을 선택하십시오.
-
계속을 클릭합니다.
현재 단계의 구성이 완료되어 유효한 경우에만 다음 단계로 진행할 수 있습니다. 언제든지 뒤로하기를 클릭하여 안내된 설치 관리자에서 이전 단계를 볼 수 있습니다. 도구 체인 설치 프로그램은 연속적인 단계의 모든 구성 설정을 유지합니다.
일부 단계에는 고급 구성으로 전환 토글 버튼이 포함되어 있습니다. 이 단계에서는 기본적으로 최소한의 구성이 제공됩니다. 그러나 보다 세밀한 제어가 필요한 고급 사용자는 고급 구성으로 전환 토글을 클릭하여 기본 통합 옵션을 표시할 수 있습니다.
CI 도구 통합 설정
기본 설정을 검토하고 CI 도구 통합을 설정하는 데 필요한 경우 사용자 정의 구성을 제공하세요.
애플리케이션
- 소스 제공자를 Git Repos and Issue Tracking 로 선택합니다.
- 툴체인의 기본 동작은 기본 샘플 애플리케이션 사용입니다. 현재 툴체인은 기존 Git Repos and Issue Tracking 리포지토리에만 연결할 수 있습니다. 자체 애플리케이션/서비스 소스 코드 리포지토리를 사용하는 경우 다음을 참조하세요:
- 자체 앱을 DevSecOps 가져오기.
- ' DevSecOps 파이프라인 자동 구성하기 ' 파이프라인 구성 기능을 사용하여 ' DevSecOps '를 추론합니다.
- 새 리포지토리 이름의 고유 이름을 입력합니다.
- 계속을 클릭합니다.
인벤토리
인벤토리 저장소는 CI 도구 체인에서 빌드한 아티팩트의 세부사항을 기록합니다.
- 템플릿에 제공된 기본 구성을 그대로 사용하거나 요구 사항에 따라 구성을 편집할 수 있습니다.
- 계속을 클릭합니다.
문제
문제 저장소는 CI 파이프라인이 실행 중인 동안 발견된 문제를 기록합니다.
- 템플릿에 제공된 기본 구성을 그대로 사용하거나 요구 사항에 따라 구성을 편집할 수 있습니다.
- 계속을 클릭합니다
시크릿
토글을 사용하여 도구 체인에 추가할 비밀 보관소 통합을 지정하세요. 자세한 내용은 IBM Cloud 비밀 번호 관리 를 참조하세요.
CI 도구 체인은 임의의 시크릿 및 IAM 신임 정보 시크릿 유형만 지원합니다.
- 이 학습서에서는 IBM Cloud® Secrets Manager 을 시크릿의 저장소로 사용합니다. 지역, 자원 그룹및 서비스 이름 필드는 사용 가능한 선택사항에 따라 자동으로 채워집니다. 드롭다운 표시기를 선택하면 다른 선택 사항을 볼 수 있습니다.
- Secrets Manager 인스턴스 이름를 입력합니다.
- 권한 부여 유형을 선택합니다.
- 계속을 클릭합니다.
증거 스토리지
증거 저장소에는 DevSecOps CI 파이프라인에서 생성되는 모든 증거와 아티팩트가 저장됩니다.
- 다음 페이지에서 구성할 수 있는 모든 증거를 IBM Cloud Object Storage 버킷 슬라이더에 저장하려면 IBM Cloud Object Storage 버킷 슬라이더를 토글합니다.
- 기본 설정값을 채택하십시오.
- 계속을 클릭합니다.
클라우드 Object Storage 버킷
규정 준수 증거 보관함 역할을 하려면 IBM Cloud® Object Storage 인스턴스 과 클라우드 Object Storage 버킷 이 있어야 합니다.
- Cloud Object Storage 인스턴스, 버킷 이름 및 Cloud Object Storage 엔드포인트 필드가 자동으로 채워집니다.
- 서비스 ID API 키를 입력합니다.
- 선호: 키 아이콘을 클릭하여 시크릿 저장소에서 기존 키를 가져올 수 있습니다.
- 기존 키를 복사하여 붙여넣을 수 있습니다.
- 계속을 클릭합니다.
엔드포인트 필드는 선택 사항입니다. 도구 체인 설정 중 또는 파이프라인 실행 중에 엔드포인트를 선택하거나 제공하는 것이 좋습니다.
배치
애플리케이션이 배치되는 대상 Kubernetes 클러스터를 구성하십시오.
-
기본 앱 이름
hello-compliance-app
을 사용합니다. -
IBM Cloud API 키를 입력합니다. API 키는 여러 작업에서 IBM Cloud CLI 도구와 상호 작용하는 데 사용됩니다.
- 선호: 키 아이콘을 클릭하여 시크릿 저장소에서 기존 키를 가져올 수 있습니다.
- 기존 키를 복사하여 붙여넣을 수 있습니다.
- 여기에서 새로 만들기 +를 클릭하여 새 키를 만들 수 있습니다.
새로 생성된 API키를 시크릿 저장소에 즉시 저장할 수 있습니다.
-
API 키가 유효하고 충분한 액세스 권한이 있는 경우, Container Registry, Container Registry 네임스페이스, 개발 클러스터 영역, 리소스 그룹, 클러스터 이름, 클러스터 네임스페이스가 자동으로 채워집니다. 이러한 필드를 구성에 맞게 변경할 수 있습니다.
-
계속을 클릭합니다.
아티팩트 서명
아티팩트는 툴체인에 의해 빌드되고 인벤토리에 기록된 후 프로덕션에 배포되기 전에 서명을 받아야 합니다.
- GnuPG 개인키를 입력합니다. 또는 NEW 를 클릭하여 새 GPG 키를 만들 수도 있습니다. 자세한 내용은 GPG 키 생성하기 를 참조하세요.
- 계속을 클릭합니다.
DevOps Insights
IBM Cloud DevOps Insights 가 툴체인에 포함되어 있습니다. 모든 배치 및 환경에서 모든 빌드에 대한 파이프라인 테스트 결과를 보십시오.
- 기본 구성을 수락합니다.
- 계속을 클릭합니다.
SonarQube
도구 체인을 위한 정적 코드 분석 도구로 SonarQube를 구성합니다. SonarQube에서는 소스 코드의 전체 상태와 품질의 개요을 제공하고 새 코드에서 발견된 문제를 강조표시합니다. 정적 코드 분석기는 여러 프로그래밍 언어의 널 포인터 역참조, 논리 오류, 리소스 누수 등 까다로운 버그를 탐지합니다.
- 기본 구성을 수락합니다.
- 계속을 클릭합니다.
선택적 도구
Slack
풀 리퀘스트 또는 CI 파이프라인 이벤트에 대한 알림을 받도록 Slack 를 구성하세요. 도구체인을 만든 후 Slack 도구를 추가할 수도 있습니다.
- Slack 웹훅을 입력합니다. 자세한 내용은 Slack 웹훅 를 참조하세요.
- 메시지를 게시할 슬랙 채널를 입력합니다.
- 슬랙 팀 이름를 입력합니다. 예를 들어, URL
https://team.slack.com
팀이라면 팀 이름은team
입니다. - 자동화된 Slack 알림에 대한 알림을 받을 이벤트를 선택합니다.
- 계속을 클릭합니다.
CI 도구 체인 작성
- 요약 페이지에서 도구 체인 작성을 클릭하십시오.
- 툴체인 생성을 기다립니다. 이 작업은 수행하는 데 몇 분 정도 걸립니다.
CI 도구 체인 탐색
CI 툴체인에는 ci-pr-pipeline (PR)
및 ci-pipeline (CI)
가 포함되어 있습니다. 이러한 파이프라인은 애플리케이션 리포지토리에서 새 병합 요청이 제출되거나 마스터에 병합될 때 트리거됩니다.
도구 체인에 액세스하려면 다음 단계를 따르세요:
- IBM Cloud 콘솔에서 메뉴 아이콘
> 플랫폼 자동화 > 툴체인을 클릭합니다.
- 도구 체인 페이지에서 도구 체인 만들기를 클릭합니다.
- 툴체인을 클릭하면 다음 아티팩트와 같은 결과물을 볼 수 있습니다.

ci-pr 파이프라인 실행
ci-pr pipeline
를 시작하려면 애플리케이션 리포지토리에서 병합 요청을 만들어야 합니다.
-
CI 툴체인 페이지에서
ci-pr pipeline
타일을 클릭합니다. 기본적으로compliance-app-<timestamp>
라는 이름으로 생성됩니다. -
마스터 브랜치에서 브랜치를 만듭니다.
-
애플리케이션에서 코드를 업데이트하거나 readme 파일을 추가하고 변경 사항을 저장합니다.
-
병합 요청 제출을 클릭합니다.
-
CI 툴체인 페이지에서 홍보 파이프라인 타일을 클릭합니다. 병합 요청을 생성하여
ci-pr pipeline
가 트리거되었는지 확인합니다. -
ci-pr pipeline
실행이 완료될 때까지 기다립니다. 애플리케이션 리포지토리에 있는 해당 병합 요청은 PR 파이프라인의 모든 단계가 성공적으로 완료될 때까지Pending
상태에 있습니다. -
PR 파이프라인 실행이 성공적으로 완료되면 파이프라인을 클릭하여 완료된 여러 단계를 탐색하고 페이지를 볼 수 있습니다.
DevSecOps PR 파이프라인 성공 -
요청 병합에 액세스하여 변경 사항이 애플리케이션 리포지토리의 마스터 브랜치에 복사되도록 요청을 병합합니다.
CD 파이프라인 실행
다음 방법 중 하나로 CI 파이프라인을 시작하십시오.
- 자동: PR 파이프라인 성공 후에 PR을 승인하고 마스터 분기에 병합하여 시작합니다.
- 수동으로: CI 파이프라인을 수동으로 트리거하려면 Delivery Pipeline 카드를 선택하고 파이프라인 실행을 클릭한 다음 수동 트리거를 선택합니다.
이 자습서에서는 코드 변경 사항을 애플리케이션 리포지토리의 마스터 브랜치에 병합한 후 CI 파이프라인이 트리거되었습니다.
-
CI 툴체인 페이지에서 CI 파이프라인 타일을 클릭합니다.
-
파이프라인 이름에 대해 실행를 클릭합니다. 파이프라인 실행이 실행 중인지 확인합니다. 파이프라인 실행이 완료될 때까지 기다립니다.
-
CI 파이프라인 실행이 성공적으로 완료되면 파이프라인을 클릭하여 완료된 단계를 탐색하여 화면 캡처와 같이 페이지를 확인합니다.
DevSecOps CI 파이프라인 -
화면 캡처에 표시된 것처럼 DevOps Insights 타일을 클릭하여 품질 대시보드 페이지에서 수집된 증거를 검토하세요.
DevSecOps CI 증거 설정 중에 IBM Cloud Object Storage 버킷이 활성화되어 있으면 증거를 검토할 수도 있습니다. 파이프라인 실행에 실패가 있는지 평가하려면 파이프라인 평가기가 있는 파이프라인의 마지막 단계를 확인해야 합니다.
실행 중인 애플리케이션 보기
CI 파이프라인이 성공적으로 실행되면 샘플 애플리케이션이 Kubernetes 클러스터에 배치됩니다.
URL 애플리케이션은 CI 파이프라인 실행의 deploy-dev
작업 중 run stage
단계의 로그 끝에서 찾을 수 있습니다. URL 을 사용하여 애플리케이션이 실행 중인지 확인합니다.
파이프라인 사용자 정의
레퍼런스 지속적 통합 및 지속적 배포 툴체인에서 제공되는 다양한 파이프라인은 Tekton 파이프라인에 대한 Continuous Delivery 지원을 기반으로 합니다. 파이프라인 사용자 지정에 대한 자세한 내용은 사용자는 파이프라인을 어떻게 사용자 지정하나요 를 참조하세요
다음 단계
DevSecOps CI 툴체인을 성공적으로 만들고, ci-pr pipeline
및 ci-pipeline
를 실행하여 변경 사항을 빌드, 테스트 및 개발 환경에 배포했습니다. 이제 CD 툴체인 설정하기 로 이동할 준비가 되었습니다.