다음을 통해 공유


자습서: Azure Pipelines를 사용하여 CI/CD에 환경 배포

이 자습서에서는 ADE(Azure Deployment Environments)를 Azure Pipelines CI/CD 파이프라인에 통합하는 방법을 알아봅니다.

CI/CD(연속 통합 및 지속적인 업데이트)는 팀이 소프트웨어 변경 내용을 빌드, 테스트 및 배포하는 프로세스를 자동화하는 데 도움이 되는 소프트웨어 개발 방식입니다. CI/CD를 사용하면 소프트웨어 변경 내용을 더 자주, 더 확실하게 릴리스할 수 있습니다.

이 자습서를 시작하기 전에 Azure Deployment Environments의 주요 개념을 검토하여 Deployment Environments 리소스와 개념을 익힙니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • Azure Repos 리포지토리 만들기 및 구성
  • 카탈로그를 개발자 센터에 연결
  • 서비스 연결 구성
  • 파이프라인을 만듭니다.
  • 환경 만들기
  • CI/CD 파이프라인 테스트

필수 조건

Azure Repos 리포지토리 만들기 및 구성

  1. Azure DevOps 조직(https://dev.azure.com/<your-organization>)에 로그인하고 프로젝트를 선택합니다. <your-organization> 텍스트 자리 표시자를 프로젝트 식별자로 바꿉니다.
  2. 리포지토리>파일을 선택합니다.
  3. 리포지토리 가져오기에서 가져오기를 선택합니다.
  4. Git 리포지토리 가져오기에서 다음을 선택하거나 입력합니다.

환경 유형 구성

환경 유형은 개발팀이 배포할 수 있는 다양한 환경 유형을 정의합니다. 각 환경 유형에 대해 서로 다른 설정을 적용할 수 있습니다. 개발자 센터 수준에서 환경 유형을 만들고 프로젝트 수준에서 참조하세요.

개발자 센터 환경 유형을 만듭니다.

  1. Azure Portal에 로그인합니다.

  2. 개발자 센터에서 개발자 센터를 선택합니다.

  3. 환경 구성 아래 왼쪽 메뉴에서 환경 유형을 선택한 다음, 만들기를 선택합니다.

  4. 다음 단계에서 Sandbox, FunctionApp, WebApp의 세 가지 환경 유형을 만듭니다. 환경 만들기 유형에서 다음 정보를 입력한 다음, 추가를 선택합니다.

    속성
    이름 환경 형식의 이름을 입력합니다.
    태그 태그 이름 및 태그 값을 입력합니다.
  5. Azure Portal 알림을 확인하여 환경 유형이 추가되어 있는지 확인합니다.

프로젝트 환경 유형 구성:

  1. 관리 아래 왼쪽 메뉴에서 프로젝트를 선택한 다음 사용하려는 프로젝트를 선택합니다.

  2. 환경 구성 아래 왼쪽 메뉴에서 환경 유형을 선택한 다음, 추가를 선택합니다.

  3. 다음 단계에서 Sandbox, FunctionApp, WebApp의 세 가지 환경 유형을 추가합니다. <프로젝트 이름>에 환경 유형 추가에서 다음 정보를 입력하거나 선택합니다.

    속성
    Type 특정 프로젝트에 사용하도록 설정할 개발 센터 수준 환경 유형을 선택합니다.
    배포 구독 환경을 만들 대상 구독을 선택합니다.
    배포 ID 사용자를 대신하여 배포를 수행하기 위한 시스템 할당 ID 또는 사용자 할당 관리 ID를 선택합니다.
    환경 리소스에 대한 권한>환경 작성자 역할 환경 리소스에 대한 액세스 권한을 부여할 역할을 선택합니다.
    환경 리소스에 대한 권한>추가 액세스 환경 리소스에 대한 특정 역할을 할당할 사용자 또는 Microsoft Entra 그룹을 선택합니다.
    태그 태그 이름 및 태그 값을 입력합니다. 이러한 태그는 환경의 일부로 생성된 모든 리소스에 적용됩니다.
  4. Azure Portal 알림을 확인하여 환경 유형이 추가되어 있는지 확인합니다.

서비스 연결 구성

Azure Pipelines에서 Azure DevOps 프로젝트 서비스 연결을 만들어 Azure 구독의 리소스에 액세스합니다. 서비스 연결을 만들 때 Azure DevOps는 Microsoft Entra 서비스 주체 개체를 만듭니다.

  1. Azure DevOps 조직(https://dev.azure.com/<your-organization>)에 로그인하고 프로젝트를 선택합니다. <your-organization> 텍스트 자리 표시자를 프로젝트 식별자로 바꿉니다.

  2. 프로젝트 설정>서비스 연결>+새 서비스 연결을 선택합니다.

  3. 새 서비스 연결 창에서 Azure Resource Manager, 다음을 차례로 선택합니다.

  4. 서비스 주체(자동) 인증 방법을 선택한 후 다음을 선택합니다.

  5. 서비스 연결 세부 정보를 입력한 다음, 저장을 선택하여 서비스 연결을 만듭니다.

    필드
    범위 수준 구독.
    구독 개발자 센터 리소스를 호스팅하는 Azure 구독을 선택합니다.
    리소스 그룹 개발자 센터 리소스가 포함된 리소스 그룹을 선택합니다.
    서비스 연결 이름 서비스 연결의 고유한 이름을 입력합니다.
    모든 파이프라인에 액세스 권한 부여 선택됨.
  6. 서비스 연결 목록에서 이전에 만든 연결을 선택한 다음 서비스 주체 관리를 선택합니다. Azure Portal이 별도의 브라우저 탭에서 열리고 서비스 주체 세부 정보를 표시합니다.

  7. Azure Portal에서 표시 이름 값을 복사합니다. 이 값은 다음 단계에서 부하 테스트를 실행할 수 있는 권한을 서비스 주체에게 부여하는 데 사용됩니다.

ADE 프로젝트에 대한 서비스 연결 액세스 권한 부여

Azure Deployment Environments는 역할 기반 액세스 제어를 사용하여 ADE 리소스에 대한 특정 작업을 수행하기 위한 권한을 부여합니다. CI/CD 파이프라인에서 변경하려면 Deployment Environments 사용자 역할을 서비스 주체에 부여합니다.

  1. Azure Portal에서 ADE 프로젝트로 이동합니다.
  2. 액세스 제어(IAM)>추가>역할 할당 추가를 선택합니다.
  3. 역할 탭의 직무 역할 목록에서 Deployment Environments 사용자를 선택합니다.
  4. 구성원 탭에서 구성원 선택을 선택한 다음 이전에 복사한 표시 이름을 사용하여 서비스 주체를 검색합니다.
  5. 서비스 주체를 선택한 다음 선택을 선택합니다.
  6. 검토 + 할당 탭에서 검토 + 할당을 선택하여 역할 할당을 추가합니다.

이제 Azure Pipelines 워크플로 정의에서 서비스 연결을 사용하여 ADE 환경에 액세스할 수 있습니다.

사용자의 계정에 ADE 프로젝트에 대한 액세스 권한 부여

서비스 연결을 포함하여 다른 사용자가 만든 환경을 보려면 계정에 ADE 프로젝트에 대한 읽기 권한을 부여해야 합니다.

  1. Azure Portal에서 ADE 프로젝트로 이동합니다.
  2. 액세스 제어(IAM)>추가>역할 할당 추가를 선택합니다.
  3. 역할 탭의 직무 목록에서 Deployment Environments 읽기 권한자를 선택합니다.
  4. 멤버 탭에서 멤버 선택을 선택한 다음 고유의 계정을 검색합니다.
  5. 목록에서 계정을 선택한 다음 선택을 선택합니다.
  6. 검토 + 할당 탭에서 검토 + 할당을 선택하여 역할 할당을 추가합니다.

이제 Azure Pipelines 워크플로에서 만들어진 환경을 볼 수 있습니다.

파이프라인 구성

파이프라인을 사용자 지정하려면 Azure Repos 리포지토리에서 azure-pipelines.yml 파일을 편집합니다.

파이프라인에서 환경을 만드는 단계를 정의합니다. 이 파이프라인에서는 하나의 단위로 순차적으로 실행되는 일련의 단계인 작업으로 환경을 만드는 단계를 정의합니다.

파이프라인을 사용자 지정하려면 다음을 수행합니다.

  • 사용할 서비스 연결을 지정하면 파이프라인은 Azure CLI를 사용하여 환경을 만듭니다.
  • 인라인 스크립트를 사용하여 환경을 만드는 Azure CLI 명령을 실행합니다.

Azure CLI는 Azure 리소스 작업을 위한 명령 집합을 제공하는 명령줄 도구입니다. 더 많은 Azure CLI 명령을 알아보려면 az devcenter를 참조하세요.

  1. Azure DevOps 프로젝트에서 리포지토리>파일을 선택합니다.

  2. 파일 창의 .ado 폴더에서 azure-pipelines.yml 파일을 선택합니다.

  3. azure-pipelines.yml 파일에서 다음 코드를 사용하여 기존 콘텐츠를 편집합니다.

    • <AzureServiceConnectionName>을 이전에 만든 서비스 연결 이름으로 바꿉니다.

    • Inline script에서 다음 각 자리 표시자를 Azure 환경에 적절한 값으로 바꿉니다.

      자리 표시자
      <dev-center-name> 개발자 센터의 이름입니다.
      <project-name> 프로젝트의 이름입니다.
      <catalog-name> 카탈로그의 이름입니다.
      <environment-definition-name> 변경하지 마세요. 사용되는 환경 정의를 정의합니다.
      <environment-type> 환경 유형입니다.
      <environment-name> 새 환경의 이름을 지정합니다.
      <parameters> 변경하지 마세요. 환경에 대한 매개 변수를 정의하는 json 파일을 참조하세요.
  4. 커밋을 선택하여 변경 내용을 저장합니다.

  5. 변경 내용 커밋 창에서 커밋 메시지를 입력한 다음 커밋을 선택합니다.

파이프라인을 사용하여 환경 만들기

다음으로 파이프라인을 실행하여 ADE 환경을 만듭니다.

  1. Azure DevOps 프로젝트에서 파이프라인을 선택합니다.
  2. 이전에 만든 파이프라인을 선택한 다음 파이프라인 실행을 선택합니다.
  3. 파이프라인 이름을 선택한 다음 실행을 선택하여 파이프라인 실행 진행률을 확인할 수 있습니다. 파이프라인 실행의 세부 정보를 보려면 실행을 선택합니다.
  4. 또한 개발자 센터를 선택하고 프로젝트를 선택한 후 환경을 선택하여 Azure Portal에서 환경 만들기 진행률을 확인할 수도 있습니다.

CI(연속 통합) 및/또는 CD(지속적인 업데이트) 파이프라인의 어느 위치에나 이 작업을 삽입할 수 있습니다. 파이프라인 만들기 및 관리에 대해 자세히 알아보려면 Azure Pipelines 설명서를 시작합니다.

리소스 정리

이 자습서에서 만든 리소스 사용을 마친 후에는 해당 리소스를 삭제하여 요금이 발생하지 않도록 할 수 있습니다.

이 자습서에서 만든 환경을 삭제하려면 다음 명령을 사용합니다.

az devcenter dev environment delete --dev-center <DevCenterName> --project-name <DevCenterProjectName> --name <DeploymentEnvironmentInstanceToCreateName> --yes