Azure Container Apps에서 Azure CLI를 사용하여 GitHub Actions 설정
Azure Container Apps를 사용하면 GitHub Actions를 사용하여 컨테이너 앱에 수정 버전을 게시할 수 있습니다. 커밋이 GitHub 리포지토리로 푸시되면 컨테이너 레지스트리에 컨테이너 이미지를 업데이트하는 GitHub Actions 워크플로가 트리거됩니다. 컨테이너가 레지스트리에서 업데이트되면 Azure Container Apps는 업데이트된 컨테이너 이미지를 기반으로 새 수정 버전을 만듭니다.
GitHub Actions 워크플로는 리포지토리의 특정 분기에 커밋이 있을 때 실행됩니다. 워크플로를 설정할 때 작업을 트리거하는 분기를 선택합니다.
이 문서에서는 Azure CLI를 사용하여 시작 GitHub Actions 워크플로를 생성하는 방법을 보여 줍니다. 완전히 사용자 지정할 수 있는 고유한 워크플로를 만들려면 GitHub Actions를 사용하여 Azure Container Apps에 배포를 참조하세요.
인증
GitHub Actions 통합을 추가하거나 제거할 때 GitHub 개인용 액세스 토큰을 전달하거나 대화형 GitHub 로그인 환경을 사용하여 인증할 수 있습니다. 대화형 환경은 웹 브라우저에서 양식을 열고 GitHub로 로그인할 수 있는 기회를 제공합니다. 성공적으로 인증되면 토큰이 현재 세션의 나머지 부분에 대해 GitHub에서 사용되는 CLI로 다시 전달됩니다.
- 개인용 액세스 토큰을 전달하려면
--token
매개 변수를 사용하고 토큰 값을 제공합니다. - 대화형 로그인을 사용하도록 선택하는 경우 값 없이
--login-with-github
매개 변수를 사용합니다.
참고 항목
GitHub 개인용 액세스 토큰에는 workflow
범위가 선택되어 있어야 합니다.
추가
containerapp github-action add
명령은 컨테이너 앱과 GitHub Actions 통합을 만듭니다.
참고 항목
지정된 예제를 진행하기 전에 첫 번째 컨테이너 앱이 이미 배포되어 있어야 합니다.
컨테이너 앱에 GitHub Actions를 처음 연결할 때 서비스 주체 컨텍스트를 제공해야 합니다. 다음 명령은 서비스 주체를 만드는 방법을 보여 줍니다.
az ad sp create-for-rbac \
--name <SERVICE_PRINCIPAL_NAME> \
--role "contributor" \
--scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>
이 예제와 상호 작용할 때 <>
로 둘러싸인 자리 표시자를 값으로 바꿉니다.
이 명령의 반환 값은 서비스 사용자의 appId
, password
, tenant
을 포함하는 JSON 페이로드입니다. 이러한 값을 az containerapp github-action add
명령에 전달해야 합니다.
다음 예제에서는 개인용 액세스 토큰을 사용하는 동안 통합을 추가하는 방법을 보여 줍니다.
az containerapp github-action add \
--repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
--context-path "./dockerfile" \
--branch <BRANCH_NAME> \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--registry-url <URL_TO_CONTAINER_REGISTRY> \
--registry-username <REGISTRY_USER_NAME> \
--registry-password <REGISTRY_PASSWORD> \
--service-principal-client-id <appId> \
--service-principal-client-secret <password> \
--service-principal-tenant-id <tenant> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>
이 예제와 상호 작용할 때 <>
로 둘러싸인 자리 표시자를 값으로 바꿉니다.
표시
containerapp github-action show
명령은 컨테이너 앱에 대한 GitHub Actions 구성 설정을 반환합니다.
이 예제에서는 개인용 액세스 토큰을 사용하는 동안 통합을 추가하는 방법을 보여 줍니다.
az containerapp github-action show \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME>
이 예제와 상호 작용할 때 <>
로 둘러싸인 자리 표시자를 값으로 바꿉니다.
이 명령은 GitHub Actions 통합 구성 설정을 사용하여 JSON 페이로드를 반환합니다.
삭제
containerapp github-action delete
명령은 컨테이너 앱에서 GitHub Actions를 제거합니다.
az containerapp github-action delete \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>
이 예제와 상호 작용할 때 <>
로 둘러싸인 자리 표시자를 값으로 바꿉니다.