다양한 CI/CD 방법 살펴보기
지금까지 클라우드 네이티브 앱에 대한 CI/CD를 지원하는 두 가지 방법을 살펴보았습니다. AKS에 앱을 수동으로 배포했으며 GitHub Actions를 사용하여 앱을 빌드하고 배포했습니다. Microsoft는 세 번째 접근 방식인 Azure Pipelines를 지원합니다. 자동화된 접근 방식은 모두 유효합니다. 필요에 가장 적합한 항목을 선택합니다.
GitHub 작업 및 Azure Pipelines는 어떻게 다른가요?
먼저 이 두 방법이 어떻게 동일한지 살펴보겠습니다. GitHub Actions와 Azure Pipelines는 모두 CI/CD 도구입니다. 둘 다 다음을 지원합니다.
- 앱 빌드 및 배포
- 앱을 빌드하고 배포하는 단계를 정의하는 YAML 파일입니다.
- 빌드 및 배포 프로세스를 시작하는 트리거입니다.
- 빌드 및 배포 프로세스 모니터링
- 배포 롤백
기능에 대한 지원 수준은 두 가지 방법이 서로 다릅니다. 이러한 차이점을 살펴보겠습니다.
GitHub 작업 | Azure Pipelines |
---|---|
퍼블릭 리포지토리는 무료 | 오픈 소스 프로젝트에 무료 |
프라이빗 리포지토리의 경우 매월 최대 2,000 분 동안 무료 | 프라이빗 리포지토리의 경우 매월 최대 1800 분 동안 무료 |
20개의 동시 작업으로 제한됨 | 10개의 동시 작업으로 제한됨 |
Azure Pipelines는 다양한 원본 리포지토리를 지원하기 때문에 GitHub Actions보다 이점이 있습니다. Azure Pipelines는 GitHub, GitHub Enterprise Server, Bitbucket Cloud, Azure Repos Git 및 TFVC, Subversion 및 External Git을 지원합니다. GitHub Actions는 GitHub만 지원합니다.
더 복잡한 CD/CD 워크플로가 있는 경우 요구 사항을 지원하도록 Azure Pipelines의 크기를 조정할 수 있습니다. Azure Pipelines는 여러 단계, 여러 작업 및 여러 단계를 지원합니다. GitHub Actions는 여러 단계가 있는 단일 작업만 지원합니다. 이러한 유연성은 자동화된 테스트 시나리오와 결합될 수 있습니다.
참고 항목
DevOps에서 새 프로젝트를 만들 때 무료 Azure Pipeline 분을 사용할 수 없을 수 있습니다. 무료 병렬 처리 부여를 요청하려면 병렬 처리 요청 양식을 작성 합니다. 다음 연습을 완료하기 전에 이 작업을 수행해야 합니다.
GitHub 작업 사용 안 함
차이점을 검토한 후 Azure Pipelines를 사용하도록 앱을 변경하기로 결정합니다.
탭에서 포크된 리포지토리로 Actions 이동합니다.
왼쪽에서 Build and deploy an app to AKS 워크플로를 선택합니다.
오른쪽 위에 있는 추가 옵션 메뉴를 선택합니다.
워크플로 사용 안 함 선택
GitHub 작업 워크플로를 사용하지 않도록 설정했습니다. 이제 앱을 빌드하고 배포하는 Azure Pipeline을 만듭니다.