빠른 시작: Azure CLI를 사용하여 첫 번째 정적 사이트 빌드
Azure Static Web Apps는 코드 리포지토리에서 앱을 빌드하여 프로덕션 환경에 웹 사이트를 게시합니다.
이 빠른 시작에서는 Azure CLI를 사용하여 웹 애플리케이션을 Azure Static 웹앱에 배포합니다.
필수 조건
- GitHub 계정.
- Azure 계정.
- Azure 구독이 없는 경우 무료 평가판 계정을 만들 수 있습니다.
- Azure CLI가 설치됨(2.29.0 버전 이상)
- Git 설정
환경 변수 정의
이 빠른 시작의 첫 번째 단계는 환경 변수를 정의하는 것입니다.
export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myStaticWebAppResourceGroup$RANDOM_ID"
export REGION=EastUS2
export MY_STATIC_WEB_APP_NAME="myStaticWebApp$RANDOM_ID"
리포지토리 만들기(선택 사항)
(선택 사항) 이 문서에서는 쉽게 시작할 수 있도록 하는 또 다른 방법으로 GitHub 템플릿 리포지토리를 사용합니다. 이 템플릿에는 Azure Static Web Apps에 배포할 스타터 앱이 있습니다.
- 다음 위치로 이동하여 새 리포지토리를 만듭니다. https://github.com/staticwebdev/vanilla-basic/generate
- 리포지토리 이름을
my-first-static-web-app
으로 지정합니다.
참고 항목
Azure Static Web Apps에는 웹앱을 만들기 위한 하나 이상의 HTML 파일이 필요합니다. 이 단계에서 만드는 리포지토리에는 단일 index.html
파일이 포함됩니다.
- 리포지토리 만들기를 선택합니다.
정적 웹앱을 배포합니다.
Azure CLI에서 앱을 정적 웹앱으로 배포합니다.
- 리소스 그룹을 만듭니다.
az group create \
--name $MY_RESOURCE_GROUP_NAME \
--location $REGION
Results:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-swa-group",
"location": "eastus2",
"managedBy": null,
"name": "my-swa-group",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
- 리포지토리에서 새 정적 웹앱을 배포합니다.
az staticwebapp create \
--name $MY_STATIC_WEB_APP_NAME \
--resource-group $MY_RESOURCE_GROUP_NAME \
--location $REGION
정적 앱을 배포하는 데는 두 가지 측면이 있습니다. 첫 번째 작업은 앱을 구성하는 기본 Azure 리소스를 만듭니다. 두 번째는 애플리케이션을 빌드하고 게시하는 워크플로입니다.
새 정적 사이트로 이동하려면 먼저 배포 빌드가 실행을 완료해야 합니다.
- 콘솔 창으로 돌아가서 다음 명령을 실행하여 웹 사이트의 URL을 나열합니다.
export MY_STATIC_WEB_APP_URL=$(az staticwebapp show --name $MY_STATIC_WEB_APP_NAME --resource-group $MY_RESOURCE_GROUP_NAME --query "defaultHostname" -o tsv)
runtime="1 minute";
endtime=$(date -ud "$runtime" +%s);
while [[ $(date -u +%s) -le $endtime ]]; do
if curl -I -s $MY_STATIC_WEB_APP_URL > /dev/null ; then
curl -L -s $MY_STATIC_WEB_APP_URL 2> /dev/null | head -n 9
break
else
sleep 10
fi;
done
Results:
<!DOCTYPE html>
<html lang=en>
<head>
<meta charset=utf-8 />
<meta name=viewport content="width=device-width, initial-scale=1.0" />
<meta http-equiv=X-UA-Compatible content="IE=edge" />
<title>Azure Static Web Apps - Welcome</title>
<link rel="shortcut icon" href=https://appservice.azureedge.net/images/static-apps/v3/favicon.svg type=image/x-icon />
<link rel=stylesheet href=https://ajax.aspnetcdn.com/ajax/bootstrap/4.1.1/css/bootstrap.min.css crossorigin=anonymous />
echo "You can now visit your web server at https://$MY_STATIC_WEB_APP_URL"
GitHub 템플릿 사용
Azure CLI를 사용하여 Azure Static Web Apps에 정적 웹앱을 성공적으로 배포했습니다. 이제 정적 웹앱을 배포하는 방법에 대한 기본 사항을 이해했으므로 Azure Static Web Apps의 유용한 기능을 탐색할 수 있습니다.
GitHub 템플릿 리포지토리를 사용하려면 다음 단계를 따릅니다.
https://github.com/login/device로 이동하여 GitHub에서 가져오는 코드를 입력하여 GitHub 개인용 액세스 토큰을 활성화하고 검색합니다.
- https://github.com/login/device(으)로 이동합니다.
- 콘솔의 메시지에 표시된 대로 사용자 코드를 입력합니다.
Continue
를 선택합니다.Authorize AzureAppServiceCLI
를 선택합니다.
Git을 통해 웹 사이트 보기
스크립트를 실행하는 동안 리포지토리 URL을 가져오면 리포지토리 URL을 복사하여 브라우저에 붙여넣습니다.
Actions
탭을 선택합니다.이 시점에서 Azure는 정적 웹앱을 지원하기 위한 리소스를 만듭니다. 실행 중인 워크플로 옆의 아이콘이 녹색 배경의 확인 표시로 바뀔 때까지 기다립니다. 이 작업을 실행하는 데 몇 분 정도 걸릴 수 있습니다.
성공 아이콘이 표시되면 워크플로가 완료되고 콘솔 창으로 돌아갈 수 있습니다.
다음 명령을 실행하여 웹 사이트의 URL을 쿼리합니다.
az staticwebapp show \
--name $MY_STATIC_WEB_APP_NAME \
--query "defaultHostname"
- URL을 브라우저에 복사하여 웹 사이트로 이동합니다.
리소스 정리(선택 사항)
이 애플리케이션을 계속 사용하지 않으려면 az group delete 명령을 사용하여 리소스 그룹과 정적 웹앱을 삭제합니다.