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

  1. 탭에서 포크된 리포지토리로 Actions 이동합니다.

  2. 왼쪽에서 Build and deploy an app to AKS 워크플로를 선택합니다.

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

    A screenshot showing the Disabled workflow menu option for a GitHub Action workflow.

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

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