이 자습서에서는 Azure Deployment Environments를 Azure Pipelines CI/CD 파이프라인에 통합하는 방법에 대해 알아봅니다.
CI/CD(지속적인 통합 및 지속적인 업데이트)는 팀이 소프트웨어 변경 내용을 빌드, 테스트 및 배포하는 프로세스를 자동화하는 데 도움이 되는 소프트웨어 개발 접근 방식입니다. CI/CD를 사용하면 소프트웨어 변경 내용을 더 자주 릴리스하고 자신감을 가질 수 있습니다.
이 자습서를 시작하기 전에 Azure 배포 환경의 주요 개념을 검토하여 배포 환경 리소스 및 개념을 숙지하세요.
이 튜토리얼에서는 다음을 배우게 됩니다:
- Azure Repos 리포지토리 만들기 및 구성
- 환경 유형 구성
- 서비스 연결 구성
- 파이프라인 만들기
- 환경 만들기
필수 조건
- 활성 구독이 있는 Azure 계정.
- Azure 구독에 대한 소유자 권한
- Azure DevOps 구독.
- 무료로 계정을 만듭니다.
- Azure DevOps 조직 및 프로젝트.
- Azure 배포 환경에서:
- 개발 센터 및 프로젝트입니다.
- 개발자 센터에 연결된 샘플 카탈로그입니다.
Azure Repos 리포지토리 만들기 및 구성
- Azure DevOps 조직(
https://dev.azure.com/<your-organization>)에 로그인합니다. 프로젝트 식별자로 바꿉<your-organization>다. - 프로젝트를 선택합니다.
- 저장소>파일을 선택합니다.
- 리포지토리 가져오기에서 가져오기를 선택합니다.
-
Git 리포지토리 가져오기에서 다음을 선택하거나 입력합니다.
- 리포지토리 유형: Git
- URL 복제: https://github.com/Azure/deployment-environments
환경 유형 구성
환경 유형은 개발 팀이 배포할 수 있는 환경 유형을 정의합니다. 각 환경 유형에 대해 서로 다른 설정을 적용할 수 있습니다. 개발 센터 수준 및 프로젝트 수준에서 환경 형식을 만들 수 있습니다.
개발자 센터 환경 유형을 만들려면 다음을 수행합니다.
Azure Portal에 로그인합니다.
개발자 센터에서 개발자 센터를 선택합니다.
왼쪽 메뉴의 환경 구성에서 환경 유형을 선택한 다음 만들기를 선택합니다.
다음 단계를 사용하여 샌드박스, FunctionApp 및 WebApp의 세 가지 환경 유형을 만듭니다.
환경 만들기 유형에서 다음 정보를 입력한 다음, 추가를 선택합니다.
이름 가치 이름 환경 형식의 이름을 입력합니다. 태그 태그 이름 및 태그 값을 입력합니다. 환경 유형이 목록에 표시되는지 확인합니다.
프로젝트 환경 유형을 만들려면 다음을 수행합니다.
- 왼쪽 메뉴의 관리 아래에서 프로젝트를 선택한 다음 사용할 프로젝트를 선택합니다.
- 왼쪽 메뉴의 환경 구성에서 환경 유형을 선택한 다음 추가를 선택합니다.
- 샌드박스, FunctionApp 및 WebApp의 세 가지 환경 유형을 추가하려면 다음 단계를 사용합니다.
<프로젝트 이름>에 환경 유형 추가에서 다음 정보를 입력하거나 선택합니다.
이름 가치 유형 특정 프로젝트에 사용하도록 설정할 개발 센터 수준 환경 유형을 선택합니다. 배포 구독 환경을 만들 대상 구독을 선택합니다. 배포 ID 시스템 할당 또는 사용자 할당 관리 ID를 선택하여 사용자를 대신하여 배포를 수행합니다. 환경 리소스에 대한 권한>환경 작성자 역할 환경 리소스에 대한 액세스 권한을 부여할 역할을 선택합니다. 환경 리소스에 대한 권한>추가 액세스 환경 리소스에 대한 특정 역할을 할당할 사용자 또는 Microsoft Entra 그룹을 선택합니다. 태그 태그 이름 및 태그 값을 입력합니다. 이러한 태그는 환경의 일부로 생성된 모든 리소스에 적용됩니다. 환경 유형이 목록에 표시되는지 확인합니다.
서비스 연결 구성
Azure Pipelines에서 Azure DevOps 프로젝트 서비스 연결을 만들어 Azure 구독의 리소스에 액세스합니다.
프로젝트에 대한 사용자 할당 관리 ID가 없는 경우 하나를 추가합니다.
비고
ID에 대해 앱 등록, 사용자 할당 관리 ID 및 시스템 할당 관리 ID의 세 가지 옵션 중 하나를 사용할 수 있습니다. 앱 등록이 가장 안전한 옵션입니다. 앱 등록을 사용하려면 적절한 권한이 있어야 합니다. 자세한 내용은 Azure Resource Manager 서비스 연결 특수 사례를 참조하세요.
Azure DevOps 조직(
https://dev.azure.com/<your-organization>)에 로그인합니다. 프로젝트 식별자로 바꿉<your-organization>다.프로젝트를 선택합니다.
프로젝트 설정>서비스 연결>서비스 연결 만들기를 선택합니다.
새 서비스 연결 창에서 Azure Resource Manager를 선택한 다음, 다음을 선택합니다.
다음 서비스 연결 세부 정보를 입력한 다음 저장 을 선택하여 서비스 연결을 만듭니다.
분야 가치 ID 형식 관리되는 아이덴티티 관리 ID에 대한 구독 관리 ID가 포함된 Azure 구독을 입력합니다. 관리 ID에 대한 리소스 그룹 관리 ID가 포함된 리소스 그룹을 입력합니다. 관리되는 아이덴티티 관리 ID의 이름을 입력합니다. 서비스 연결에 대한 범위 수준 구독 서비스 연결에 대한 구독 개발자 센터 리소스를 호스트하는 Azure 구독의 ID를 입력합니다. 서비스 연결 이름 서비스 연결의 고유한 이름을 입력합니다. 모든 파이프라인에 대한 액세스 권한 부여 이 확인란을 선택합니다. 저장을 선택합니다.
배포 환경 프로젝트에 대한 서비스 연결 액세스 권한 부여
배포 환경은 역할 기반 액세스 제어를 사용하여 배포 환경 리소스에서 특정 작업을 수행하기 위한 권한을 부여합니다. CI/CD 파이프라인에서 변경하려면 관리 ID에 배포 환경 사용자 역할을 부여합니다.
- Azure Portal에서 배포 환경 프로젝트로 이동합니다.
- 액세스 제어(IAM)>추가>역할 할당 추가를 선택합니다.
- 역할 탭의 작업 함수 역할 목록에서 배포 환경 사용자를 선택합니다.
- 구성원 탭에서 관리 ID를 선택하고 멤버를 선택합니다.
- 관리 ID 선택 탭의 관리 ID에서 프로젝트 ID를 선택하고 프로젝트 이름을 선택한 다음 선택을 선택합니다.
- 검토 + 할당 탭에서 검토 + 할당을 선택하여 역할 할당을 추가합니다.
이제 Azure Pipelines 워크플로 정의에서 서비스 연결을 사용하여 배포 환경 환경에 액세스할 수 있습니다.
배포 환경 프로젝트에 대한 계정 액세스 권한 부여
서비스 연결을 포함하여 다른 사용자가 만든 환경을 보려면 계정에 배포 환경 프로젝트에 대한 읽기 권한을 부여해야 합니다.
- Azure Portal에서 배포 환경 프로젝트로 이동합니다.
- 액세스 제어(IAM)>추가>역할 할당 추가를 선택합니다.
- 역할 탭의 작업 함수 역할 목록에서 배포 환경 읽기 프로그램을 선택합니다.
- 구성원 탭에서 구성원 선택을 선택한 다음, 고유한 계정을 검색합니다.
- 목록에서 계정을 선택한 다음 선택을 선택합니다.
- 검토 + 할당 탭에서 검토 + 할당을 선택하여 역할 할당을 추가합니다.
이제 Azure Pipelines 워크플로에서 만든 환경을 볼 수 있습니다.
파이프라인 구성
Azure Repos 리포지토리에서 azure-pipelines.yml 파일을 편집하여 파이프라인을 사용자 지정합니다.
파이프라인에서 환경을 만드는 단계를 정의합니다. 이 파이프라인에서는 환경을 작업으로 만드는 단계를 정의합니다. 이 단계는 단위로 순차적으로 실행되는 일련의 단계입니다.
파이프라인을 사용자 지정하려면 다음을 수행합니다.
- 사용할 서비스 연결을 지정합니다.
- 인라인 스크립트를 사용하여 환경을 만드는 Azure CLI 명령을 실행합니다.
Azure CLI는 Azure 리소스 작업을 위한 명령 집합을 제공하는 명령줄 도구입니다. Azure CLI 명령에 대한 자세한 내용은 az devcenter를 참조하세요.
Azure DevOps 프로젝트에서 Repos>Files를 선택합니다.
파일 창의 .ado 폴더에서 azure-pipelines.yml 파일을 선택합니다.
azure-pipelines.yml 파일에서 기존 콘텐츠를 편집합니다.
앞에서 만든 서비스 연결의 이름으로 바꿉
<AzureServiceConnectionName>습니다.입력에서
Inline script다음 자리 표시자를 Azure 환경에 적합한 값으로 바꿉 있습니다.플레이스홀더 가치 <DevCenterName>개발자 센터의 이름입니다. <project-name>프로젝트의 이름입니다. <catalog-name>카탈로그의 이름입니다. <environment-definition-name>변경하지 마세요. 사용되는 환경 정의를 정의합니다. <environment-type>환경 유형입니다. <environment-name>새 환경의 이름을 지정합니다. <parameters>변경하지 마세요. 환경에 대한 매개 변수를 정의하는 JSON 파일을 참조합니다.
커밋을 선택하여 변경 내용을 저장합니다.
변경 내용 커밋 창에서 커밋 메시지를 입력한 다음 커밋을 선택합니다.
파이프라인을 사용하여 환경 만들기
다음으로 파이프라인을 실행하여 배포 환경 환경을 만듭니다.
- Azure DevOps 프로젝트에서 파이프라인을 선택합니다.
- 이전에 만든 파이프라인을 선택한 다음, 파이프라인 실행을 선택합니다.
- 파이프라인 이름을 선택한 다음 실행을 선택하여 파이프라인 실행의 진행률을 확인할 수 있습니다. 실행을 선택하여 파이프라인 실행의 세부 정보를 확인합니다.
- 개발자 센터를 선택하고 프로젝트를 선택한 다음 환경을 선택하여 Azure Portal에서 환경 만들기의 진행률을 확인할 수도 있습니다.
CI 및/또는 CD 파이프라인의 아무 곳에나 이 작업을 삽입할 수 있습니다. 파이프라인을 만들고 관리하는 방법에 대한 자세한 내용은 Azure Pipelines 설명서를 참조하세요.
자원을 정리하세요
이 자습서에서 만든 리소스를 완료하면 요금이 발생하지 않도록 삭제할 수 있습니다.
다음 명령을 사용하여 이 자습서에서 만든 환경을 삭제합니다.
az devcenter dev environment delete --dev-center <DevCenterName> --project-name <DevCenterProjectName> --name <DeploymentEnvironmentInstanceToCreateName> --yes