Python 웹 azd 템플릿 개요
Python 웹 Azure 개발자 CLI(azd
) 템플릿은 Python 웹 애플리케이션을 빌드하고 Azure에 배포하는 가장 빠르고 쉬운 방법입니다. 이 문서에서는 시작하는 동안 상황에 맞는 배경 정보를 제공합니다.
시작하는 가장 좋은 방법은 빠른 시작을 따라 첫 번째 Python 웹 애플리케이션을 만들고 템플릿을 사용하여 몇 분 azd
안에 Azure에 배포하는 것입니다. 로컬 개발 환경을 설정하지 않으려면 GitHub Codespaces를 사용하여 빠른 시작을 계속 수행할 수 있습니다 .
Python 웹 azd 템플릿이란?
Awesome AZD 템플릿 갤러리에는 여러 azd
템플릿을 사용할 수 있습니다. 그러나 이 Python 웹 템플릿 컬렉션은 Azure 리소스 및 Python 웹 azd
프레임워크의 다양한 인기 조합에서 기능 패리티를 제공하는 샘플 웹 애플리케이션을 제공하기 때문에 고유합니다.
Python 웹 azd
템플릿을 실행하는 경우 다음을 수행합니다.
- 스타터 애플리케이션 만들기 - 특히 Relecloud라는 가상의 회사를 위한 웹 사이트입니다. 프로젝트 코드는 특정 기술 스택에 필요한 지정된 Python 프레임워크 및 패키지에 대한 많은 모범 사례를 제공합니다. 템플릿은 애플리케이션의 시작점이 됩니다. 필요에 따라 애플리케이션 논리 및 Azure 리소스를 추가하거나 제거합니다.
- Azure 리소스 프로비전 - 템플릿은 인기 있는 코드 기반 인프라 도구인 Bicep을 사용하여 웹앱 및 데이터베이스를 호스팅하기 위한 Azure 리소스를 프로비전합니다. 다시 Azure 서비스를 추가해야 하는 경우 Bicep 템플릿을 수정합니다.
- 새로 프로비전된 Azure 리소스 에 시작 애플리케이션 배포 - 시작 애플리케이션이 자동으로 배포되므로 모든 작업이 몇 분 안에 작동하는 것을 보고 수정할 항목을 결정할 수 있습니다.
- 선택 사항: GitHub 리포지토리 및 CI/CD 파이프라인 설정 - 원하는 경우 템플릿에는 GitHub Actions CI/CD 파이프라인 을 포함하여 GitHub 리포지토리를 설정하는 논리가 포함됩니다. 몇 분 내에 웹 프로젝트 코드를 변경할 수 있습니다. 이러한 변경 내용을 GitHub 리포지토리의 기본 분기에 병합하면 CI/CD 파이프라인이 새 Azure 호스팅 환경에 게시합니다.
누구를 위한 것인가요?
템플릿은 Azure 배포를 대상으로 하는 새 Python 웹 애플리케이션 빌드를 시작하려는 숙련된 Python 웹 개발자가 사용할 수 있습니다.
이 작업을 사용하는 이유는 무엇인가요?
템플릿을 azd
사용하면 다음과 같은 몇 가지 이점이 있습니다.
- 가능한 가장 빠른 시작 - 로컬 개발 환경 및 호스팅 환경 설정이 방해가 되므로 몇 분 내에 애플리케이션을 빌드하는 데 집중할 수 있습니다.
- 가장 쉬운 시작 - 몇 가지 명령줄 지침만 실행하여 전체 로컬 개발, 호스팅 및 배포 환경을 빌드합니다. 워크플로는 사용하기 쉽고 기억하기 쉽습니다.
- 모범 사례에 따라 빌드 - 각 템플릿은 Azure 업계 베테랑의 Python에 의해 빌드되고 기본. 디자인 접근 방식에 따라 코드를 추가하여 견고한 기반을 구축합니다.
템플릿 인덱스
다음 표에는 명령에 사용할 azd init
수 있는 Python 웹 azd
템플릿 모니커, 각 템플릿에 구현된 기술 및 변경 내용을 적용하려는 경우 GitHub 리포지토리에 대한 링크가 나와 있습니다.
템플릿 | 웹 프레임워크 | 데이터베이스 | 호스팅 플랫폼 | GitHub 리포지토리 |
---|---|---|---|---|
azure-django-postgres-flexible-aca | Django | PostgreSQL 유연한 서버 | Azure Container Apps | 리포지토리 |
azure-django-postgres-flexible-appservice | Django | PostgreSQL 유연한 서버 | Azure App Service | 리포지토리 |
azure-django-cosmos-postgres-aca | Django | Cosmos DB(PostgreSQL 어댑터) | Azure Container Apps | 리포지토리 |
azure-django-cosmos-postgres-appservice | Django | Cosmos DB(PostgreSQL 어댑터) | Azure App Service | 리포지토리 |
azure-django-postgres-addon-aca | Django | Azure Container Apps PostgreSQL 추가 기능 | Azure Container Apps | 리포지토리 |
템플릿은 어떻게 작동합니까?
다양한 azd
명령을 사용하여 템플릿에서 정의한 azd
작업을 수행합니다. 이러한 명령은 Azure Developer CLI를 사용하여 시작하기에 자세히 설명되어 있습니다.
템플릿은 azd
애플리케이션 코드(인기 있는 웹 프레임워크를 활용하는 Python 코드) 및 Azure 리소스를 만들기 위한 코드로서의 인프라(즉, Bicep) 파일을 포함하는 GitHub 리포지토리로 구성됩니다. CI/CD 파이프라인을 사용하여 GitHub 리포지토리를 설정하는 데 필요한 구성도 포함되어 있습니다.
빠른 시작에서는 특정 azd
템플릿을 사용하는 단계를 안내합니다. 프로덕션 호스팅 환경 및 로컬 개발 환경에 대한 명령줄 지침 5개만 실행하면 됩니다.
azd init --template <template name>
- 템플릿에서 새 프로젝트를 만들고 로컬 컴퓨터에 애플리케이션 코드의 복사본을 만듭니다. 이 명령은 배포된 리소스의 명명에 접두사로 사용되는 환경 이름(예: "myapp")을 제공하라는 메시지를 표시합니다.azd auth login
- Azure에 로그인합니다. 이 명령은 Azure에 로그인할 수 있는 브라우저 창을 엽니다. 로그인하면 브라우저 창이 닫히고 명령이 완료됩니다. 이azd auth login
명령은 세션당 Azure 개발자 CLI(azd
)를 처음 사용할 때만 필요합니다.azd up
- 클라우드 리소스를 프로비전하고 해당 리소스에 앱을 배포합니다.azd deploy
- 애플리케이션 소스 코드의 변경 내용을 이미 프로비전된 리소스에azd up
배포합니다.azd down
- 사용된 경우 Azure 리소스 및 CI/CD 파이프라인을 삭제합니다.
팁
응답해야 하는 프롬프트에 대한 azd
출력을 확인합니다. 예를 들어 명령을 실행한 azd up
후 둘 이상의 구독에 속하는 경우 구독을 선택하라는 메시지가 표시될 수 있습니다. 또한 지역을 선택하라는 메시지가 표시됩니다. 템플릿의 /.azure/폴더에 저장된 환경 변수를 편집하여 프롬프트로 답변을 변경할 수 있습니다.
템플릿이 완료되면 필요에 따라 모든 파일을 수정할 수 있는 원본 템플릿의 개인 복사본이 있습니다. 최소한 프로젝트에 디자인 및 애플리케이션 논리가 있도록 Python 프로젝트 코드를 수정할 수 있습니다. Azure 리소스를 변경해야 하는 경우 코드 기반 인프라 구성을 수정할 수도 있습니다. 편집하거나 삭제할 수 있는 항목이라는 섹션을 참조하세요.
선택 사항: Azure 리소스 수정 및 다시 프로비전
프로비전된 Azure 리소스를 변경하려면 템플릿에서 적절한 Bicep 파일을 편집하고 다음을 사용할 수 있습니다.
azd provision
- Bicep 파일에 정의된 대로 Azure 리소스를 원하는 상태로 다시 프로비전합니다.
CI/CD 파이프라인 설정
Azure 개발자 CLI(azd
)는 새 Python 웹 애플리케이션에 대한 CI/CD 파이프라인을 쉽게 설정할 수 있는 방법을 제공합니다. 커밋 또는 끌어오기 요청을 기본 분기에 병합할 때마다 CI/CD 파이프라인은 변경 내용을 자동으로 빌드하고 Azure 리소스에 게시합니다.
선택 사항: GitHub Actions CI/CD 파이프라인 자동 설정
GitHub Actions CI/CD 파이프라인 기능을 구현하려면 다음 명령을 사용합니다.
azd pipeline config
- CI\CD 파이프라인을 사용하도록 GitHub 리포지토리 및 설정을 지정할 수 있습니다. 구성되면 코드 변경 내용이 리포지토리의 기본 분기에 병합될 때마다 파이프라인은 프로비전된 Azure 서비스에 변경 내용을 배포합니다.
다른 옵션은 무엇인가요?
템플릿을 사용하지 azd
않으려면 Python 앱을 Azure에 배포하고 여러 가지 방법으로 Azure 리소스를 만들 수 있습니다.
다음 도구 중 하나를 사용하여 많은 리소스 만들기 및 배포 단계를 수행할 수 있습니다.
- Azure Portal
- Azure CLI
- Azure Tools 확장을 사용하는 Visual Studio Code
또는 Python 웹 개발 프레임워크를 제공하는 엔드 투 엔드 자습서를 찾고 있는 경우 다음을 검사.
개발 컨테이너를 사용해야 하나요?
아니요. Python 웹 azd
템플릿은 기본적으로 Dev Containers를 활용 합니다 . Dev Containers는 많은 이점을 제공하지만 몇 가지 필수 구성 요소 지식과 소프트웨어가 필요합니다. 개발자 컨테이너를 사용하지 않고 로컬 개발 환경을 대신 사용하려는 경우 환경 설정 지침은 샘플 앱의 루트 디렉터리에 있는 README.md 파일을 참조하세요.
무엇을 편집하거나 삭제할 수 있나요?
각 azd
템플릿의 내용은 프로젝트 유형 및 채택된 기본 기술 스택에 따라 달라질 수 있습니다. 이 문서에 나열된 템플릿은 일반적인 규칙을 따릅니다.
폴더/파일 | 목적 | 설명 |
---|---|---|
/ | 루트 디렉터리 | 루트 디렉터리에는 다양한 용도로 다양한 종류의 파일과 폴더가 포함되어 있습니다. |
/.Azure | azd 구성 파일 |
Azure Developer CLI(azd ) 명령에서 사용하는 환경 변수를 포함합니다. 이 폴더는 명령을 실행한 azd init 후에 만들어집니다. 환경 변수의 값을 변경하여 앱 및 Azure 리소스를 사용자 지정할 수 있습니다. 자세한 내용은 환경별 .env 파일을 참조 하세요. |
/.devcontainer | Dev Container 구성 파일 | 개발자 컨테이너를 사용하면 Visual Studio Code 내에서 소프트웨어 개발에 필요한 모든 리소스를 갖춘 컨테이너 기반 개발 환경을 만들 수 있습니다. |
.github/ | GitHub Actions 구성 | 선택적 GitHub Actions CI/CD 파이프라인과 Linting 및 테스트에 대한 구성 설정을 포함합니다. 명령을 사용하여 azd pipeline config GitHub Actions 파이프라인을 설정하지 않으려면 azure-dev.yaml 파일을 수정하거나 삭제할 수 있습니다. |
/인프라 | Bicep 파일 | Bicep 을 사용하면 환경에 배포하려는 Azure 리소스를 선언할 수 있습니다. 기본.bicep 및 web.bicep 파일만 수정해야 합니다. 빠른 시작: Bicep을 사용하여 Python 웹 템플릿으로 azd 배포된 서비스 크기 조정을 참조하세요. |
src/ | 시작 프로젝트 코드 파일 | 웹 프레임워크, 정적 파일, 코드 논리 및 데이터 모델에 대한 .py 파일, 등에서 필요한 템플릿을 requirements.txt 포함합니다. 특정 파일은 웹 프레임워크, 데이터 액세스 프레임워크 등에 따라 달라집니다. 프로젝트 요구 사항에 맞게 이러한 파일을 수정할 수 있습니다. |
/.cruft.json | 템플릿 생성 파일 | 템플릿을 생성하는 azd 데 내부적으로 사용됩니다. 이 파일을 안전하게 삭제할 수 있습니다. |
/.gitattributes | git 특성 | Git에 파일 및 폴더 처리에 대한 중요한 구성을 제공합니다. 필요에 따라 이 파일을 수정할 수 있습니다. |
/.gitignore | git ignore | 파일 및 폴더가 리포지토리에 포함되지 않도록 git에 지시합니다. 필요에 따라 이 파일을 수정할 수 있습니다. |
/azure.yaml | azd 구성 파일 |
배포할 서비스 및 프로젝트 폴더를 선언하기 위한 azd up 구성 설정을 포함합니다. 이 파일을 삭제해서는 안 됩니다. |
/*.메릴랜드 | markdown 파일 | 다양한 용도로 몇 가지 markdown 파일이 있습니다. 이러한 파일을 안전하게 삭제할 수 있습니다. |
/docker-compose.yml | Docker 작성 | Azure에 배포하기 전에 애플리케이션에 대한 컨테이너 패키지를 만듭니다. |
/pyproject.toml | Python 빌드 시스템 | Python 프로젝트의 빌드 시스템 요구 사항을 포함합니다. 이 파일을 원하는 도구(예: Linter 및 단위 테스트 프레임워크 사용)를 포함하도록 수정할 수 있습니다. |
/requirements-dev.in | pip 요구 사항 파일 | 명령을 사용하여 요구 사항의 개발 환경 버전을 만드는 데 사용됩니다 pip install -r . 필요에 따라 다른 패키지를 포함하도록 이 파일을 수정할 수 있습니다. |
팁
좋은 버전 제어 방법을 사용하면 설명할 수 없는 문제가 발생할 경우 프로젝트가 작동하던 시점으로 돌아갈 수 있습니다.
질문과 대답
Q: 템플릿을 사용할 azd
때 오류가 발생했습니다. 무엇을 도와드릴까요?
A: Azure 개발자 CLI 문제 해결을 참조하세요. 각 azd
템플릿의 GitHub 리포지토리에서 문제를 보고할 수도 있습니다.