Azure CLI를 사용하여 Azure 배포 환경을 위한 개발자 센터 만들기 및 구성
이 빠른 시작 가이드에서는 Azure 배포 환경에서 개발자 센터를 만들고 구성하는 방법을 보여 줍니다.
플랫폼 엔지니어링 팀은 일반적으로 개발 센터를 설정하고, 외부 카탈로그를 개발자 센터에 연결하고, 프로젝트를 만들고, 개발 팀에 액세스 권한을 제공합니다. 그런 다음 개발 팀은 환경 정의를 사용하여 환경을 만들고 개별 리소스에 연결하고 애플리케이션을 배포할 수 있습니다.
필수 조건
- 활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
- 구독에서 리소스를 만들고 관리할 수 있는 권한이 있는 Azure 역할 기반 액세스 제어 역할(예: 기여자 또는 소유자).
- Azure CLI devcenter 확장을 설치합니다.
- GitHub 계정과 리포지토리 액세스 권한이 있는 개인용 액세스 토큰.
개발자 센터 만들기
Azure 배포 환경에서 개발자 센터를 만들고 구성하려면 다음을 수행합니다.
Azure CLI에 로그인합니다.
az login
Azure CLI devcenter 확장을 설치합니다.
az extension add --name devcenter --upgrade
기본 구독을 개발자 센터를 만들려는 구독으로 구성합니다.
az account set --subscription <subscriptionName>
개발자 센터를 만들려는 기본 위치를 구성합니다. Azure 배포 환경에 사용 가능한 지역을 선택합니다.
az configure --defaults location=eastus
개발자 센터를 만들려는 리소스 그룹을 만듭니다.
az group create -n <resourceGroupName>
기본 리소스 그룹을 만든 리소스 그룹으로 구성합니다.
az config set defaults.group=<resourceGroupName>
개발자 센터를 만듭니다.
az devcenter admin devcenter create -n <devcenterName>
몇 분 후에 출력에 해당 항목이 만들어졌음을 나타냅니다.
{ "devCenterUri": "https://...", "id": "/subscriptions/.../<devcenterName>", "location": "eastus", "name": "<devcenter name>", "provisioningState": "Succeeded", "resourceGroup": "<resourceGroupName>", "systemData": { "createdAt": "...", "createdBy": "...", ... }, "type": "microsoft.devcenter/devcenters" }
참고 항목
--help
를 사용하여 모든 명령, 허용되는 인수 및 예에 대한 자세한 내용을 볼 수 있습니다. 예를 들어, 개발자 센터 만들기에 대한 자세한 내용을 보려면 az devcenter admin devcenter create --help
를 사용합니다.
Azure Key Vault에 개인용 액세스 토큰 추가
GitHub 리포지토리에 대한 Azure 액세스 권한을 부여하는 데 사용되는 GitHub PAT(개인용 액세스 토큰)를 저장하려면 Azure Key Vault가 필요합니다.
키 자격 증명 모음을 만듭니다.
# Change the name to something Globally unique az keyvault create -n <keyvaultName>
참고 항목
다음 오류가 발생할 수 있습니다.
Code: VaultAlreadyExists Message: The vault name 'kv-devcenter-unique' is already in use. Vault names are globally unique so it is possible that the name is already taken.
전역적으로 고유한 키 자격 증명 모음 이름을 사용해야 합니다.GitHub PAT를 Key Vault에 비밀로 추가합니다.
az keyvault secret set --vault-name <keyvaultName> --name GHPAT --value <personalAccessToken>
개발자 센터에 ID 연결
개발자 센터를 만든 후 개발자 센터에 ID를 연결합니다. 시스템 할당 관리 ID 또는 사용자 할당 관리 ID를 연결할 수 있습니다. 두 가지 ID 유형에 대해 알아봅니다.
이 빠른 시작에서는 개발자 센터에 대해 시스템 할당 관리 ID를 구성합니다.
시스템 할당 관리 ID 연결
개발자 센터에 시스템이 할당한 관리 ID를 연결하려면 다음을 수행합니다.
az devcenter admin devcenter update -n <devcenterName> --identity-type SystemAssigned
키 자격 증명 모음 비밀에 시스템이 할당한 관리 ID 액세스 권한 부여
리포지토리에 액세스하려면 해당 ID에 GitHub PAT가 포함된 키 자격 증명 모음 비밀에 대한 액세스 권한이 있는지 확인합니다. Key Vault는 두 가지 액세스 방법 즉, Azure 역할 기반 액세스 제어 또는 자격 증명 모음 액세스 정책을 지원합니다. 이 빠른 시작에서는 자격 증명 모음 액세스 정책을 사용합니다.
개발자 센터 ID의 개체 ID를 검색합니다.
OID=$(az ad sp list --display-name <devcenterName> --query [].id -o tsv) echo $OID
개발자 센터가 Key Vault에서 비밀을 가져올 수 있도록 Key Vault 정책을 추가합니다.
az keyvault set-policy -n <keyvaultName> --secret-permissions get --object-id $OID
개발자 센터에 카탈로그 추가
Azure Deployment Environments는 Azure DevOps 리포지토리 및 GitHub 리포지토리 연결을 지원합니다. 큐레이팅된 IaC 템플릿 세트를 리포지토리에 저장할 수 있습니다. 리포지토리를 개발자 센터에 카탈로그로 연결하면 개발 팀이 템플릿에 액세스할 수 있으며 일관된 환경을 빠르게 만들 수 있습니다.
이 빠른 시작에서는 Azure Deployment Environments 팀에서 만들고 유지 관리하는 샘플이 포함된 GitHub 리포지토리를 연결합니다.
개발자 센터에 카탈로그를 추가하려면 먼저 일부 정보를 수집해야 합니다.
GitHub 리포지토리 정보 수집
카탈로그를 추가하려면 GitHub 리포지토리 URL, 분기 및 환경 정의가 포함된 폴더를 지정해야 합니다. 개발자 센터에 카탈로그를 추가하는 프로세스를 시작하기 전에 이 정보를 수집할 수 있습니다.
이 샘플 카탈로그를 리포지토리로 사용할 수 있습니다. 다음 단계를 위해 리포지토리 포크를 만듭니다.
팁
Azure DevOps 리포지토리를 연결하는 경우 Azure DevOps 리포지토리의 복제 URL 가져오기 단계를 사용합니다.
개발자 센터에 카탈로그 추가
비밀 식별자를 검색합니다.
SECRETID=$(az keyvault secret show --vault-name <keyvaultName> --name GHPAT --query id -o tsv) echo $SECRETID
카탈로그를 추가합니다.
# Sample catalog example REPO_URL="https://github.com/Azure/deployment-environments.git" az devcenter admin catalog create --git-hub path="/Environments" branch="main" secret-identifier=$SECRETID uri=$REPO_URL -n <catalogName> -d <devcenterName>
카탈로그가 성공적으로 추가되고 동기화되었는지 확인합니다.
az devcenter admin catalog list -d <devcenterName> -o table
환경 유형 만들기
환경 유형을 사용하면 개발 팀이 배포할 수 있는 다양한 유형의 환경을 정의하는 데 도움이 됩니다. 각 환경 유형에 대해 서로 다른 설정을 적용할 수 있습니다.
환경 유형 만들기:
az devcenter admin environment-type create -d <devcenterName> -n <environmentTypeName>
환경 형식이 만들어졌는지 확인합니다.
az devcenter admin environment-type list -d <devcenterName> -o table
다음 단계
이 빠른 시작에서는 개발자 센터를 만들고 ID, 카탈로그 및 환경 유형으로 구성했습니다. 프로젝트를 만들고 구성하는 방법을 알아보려면 다음 빠른 시작으로 이동합니다.