다양한 CI/CD 방법 살펴보기

완료됨

지금까지 클라우드 네이티브 앱에 대한 CI/CD를 지원하는 두 가지 방법을 살펴보았습니다. AKS에 앱을 수동으로 배포했으며 GitHub Actions를 사용하여 앱을 빌드하고 배포했습니다. Microsoft는 세 번째 접근 방식인 Azure Pipelines를 지원합니다. 자동화된 접근 방식은 모두 유효합니다. 필요에 가장 적합한 항목을 선택합니다.

GitHub 작업 및 Azure Pipelines는 어떻게 다른가요?

먼저 이 두 방법이 어떻게 동일한지 살펴보겠습니다. GitHub Actions와 Azure Pipelines는 모두 CI/CD 도구입니다. 둘 다 다음을 지원합니다.

  • 앱 빌드 및 배포
  • 앱을 빌드하고 배포하는 단계를 정의하는 YAML 파일입니다.
  • 빌드 및 배포 프로세스를 시작하는 트리거입니다.
  • 빌드 및 배포 프로세스 모니터링
  • 배포 롤백.

기능에 대한 지원 수준은 두 가지 방법이 서로 다릅니다. 이러한 차이점을 살펴보겠습니다.

GitHub Actions (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를 사용하도록 앱을 변경하기로 결정합니다.

  1. 포크된 리포지토리로 Actions 탭의 이동하세요.

  2. 워크플로를 Build and deploy an app to AKS 선택하세요.

  3. 오른쪽 위에 있는 추가 옵션 메뉴를 선택합니다.

    GitHub 작업 워크플로의 사용 안 함 워크플로 메뉴 옵션을 보여 주는 스크린샷

  4. 워크플로 사용 안 함 선택

GitHub 작업 워크플로를 사용하지 않도록 설정했습니다. 이제 앱을 빌드하고 배포하는 Azure Pipeline을 만듭니다.