52. Azure 파이프라인을 사용하여 Azure 앱 서비스에 PHP 배포하기
<참조> https://azuredevopslabs.com/labs/vstsextend/php/
개요
.NET을 개발하든, Java, Node, PHP 또는 Python 앱을 개발하든 Azure Pipelines은 Azure에서 앱 서비스, 가상 머신 또는 컨테이너를 대상으로 하는 고도로 사용자 지정 가능한 CI(Continuous Integration) 및 CD(Continuous Delivery) 파이프라인을 설정하는 데 도움이 된다.
이 랩에서는 Azure Web App에 배포 할 PHP 앱에 대한 Azure Pipelines을 구성할 것이다.
목표
이 실습을 마치면 다음을 수행 할 수 있게 될 것이다.
- Azure DevOps 데모 생성기를 사용하여 PHP Azure DevOps 프로젝트 설정
- Azure CI 파이프라인 설정
- 릴리즈 파이프라인 내에 Azure Web App 설정 및 PHP 애플리케이션의 Azure Web App 배포
시작하기 전에
1. 랩 실습을 시작하기 전에 시작하기 페이지를 참조한다.
실습 1: Azure DevOps 데모 생성기를 사용하여 PHP 애플리케이션 프로젝트 만들기
이 실습 랩 에서는 PHP 프로젝트로 작업을 할 것이다. 목적은 개발자가 코드가 공유 저장소로 푸시되면 트리거 되는 태스크의 목록을 이해할 수 있는 시스템을 만드는 것이다.
코드는 간단한 PHP 애플리케이션이지만 Azure CLI (명령 줄 인터페이스)를 사용하여 빌드 아티팩트를 배포하는 인프라를 프로비저닝 한다.
1. Azure DevOps 데모 생성기를 사용하여 Azure DevOps 조직에서 프로젝트를 프로비저닝한다. 이 URL은 데모 생성기에서 PHP 템플릿을 자동으로 선택할 것이다.
실습 2: CI 빌드를 트리거하는 커밋 코드 변경
Azure DevOps 데모 생성기는 Azure DevOps 조직의 코드를 사용하여 Git 리포지토리를 만든다. 코드를 업데이트하고 변경 사항을 커밋한다.
1. Azure DevOps 포털의 Repos 탭으로 이동하고 아래 경로로 이동하여 파일을 편집한다.
php/config.php
2. 진행중인 빌드 상태를 보려면 Phase 1라는 잡을 클릭한다.
11번 줄까지 아래로 스크롤하고 Edit를 선택하고 PHP를 DevOps for PHP using Azure DevOps로 수정 한 다음 Commit을 선택하여 코드에 변경 사항을 저장한다.
3. Pipelines 아래의 Pipelines으로 이동한다. 이제 빌드가 진행중이거나 완료된 상태를 볼 수 있어야 한다. 방금 변경 한 내용이 자동으로 빌드되어 릴리즈 파이프라인을 통해 배포된다. 빌드 결과를 PHP를 클릭한다.
빌드 정의 검토
빌드 정의를 살펴 보겠다. 빌드 정의에 사용되는 태스크는 다음과 같다.
Tasks | Usage |
Archive files |
PHP는 인터프리트 언어이기 때문에 코드를 컴파일 할 필요가 없다. 대신 코드는 Zip 파일로 보관된다. |
Publish Build Artifacts |
릴리즈 파이프라인에서 사용할 수 있도록 빌드 아티팩트를 게시한다. |
실습 3: 릴리즈 정의 구성
빌드가 완료되면 CD 파이프라인을 구성한다. Pipelines 섹션의 Releases로 이동하여 릴리즈 정의를 확인한다. 이 릴리즈는 Azure CLI를 사용하여 Azure 웹 앱을 프로비저닝하고 zip 파일을 관련 빌드에서 생성된 웹 앱에 배포한다.
1. Pipelines 탭의 Releases에서 릴리즈 정의 PHP를 선택하고 Edit을 클릭한다.
2. Tasks로 이동하여 Dev를 선택한다.
3. Azure CLI 태스크를 선택하고 Azure subscription을 선택한다. Azure 구독을 선택하는 방법에는 두 가지가 있다.
- 구독이 나열되지 않거나 기존 서비스 주체를 사용하려면 Manage 링크를 클릭한다.
- Create service connection 버튼을 클릭하고 Azure Resource Manager 옵션을 선택한다. 연결 이름을 제공하고 목록에서 Azure Subscription을 선택한 다음 OK 버튼을 클릭한다. 연결을 승인하려면 Azure 자격 증명이 필요하다.
- 구독이 이미 나열되어 있으면 목록에서 Azure 구독을 선택하고 Authorize를 클릭한다.
4. Azure CLI는 Azure에서 다음을 만들기 위해 인라인 스크립트에서 사용된다.
- Resource Group
- App Service Plan
- App Service
5. 변수는 Variables 섹션에서 정의된다.
6. Azure App Service Deploy 태스크를 선택하고 드롭 다운 목록에서 Azure subscription을 선택한 다음 Save를 클릭한다.
(다음이 누락 되었다. Run on agent를 선택하여 Agent pool과 Agent Specification을 다음과 같이 선택하고 Save를 클릭한다.)
Tasks |
Usage |
Azure CLI |
인라인 배치 스크립트를 실행하여 리소스 그룹 내에서 웹앱을 프로비저닝한다. |
Azure App Service Deploy |
프로비저닝 된 앱 서비스에 PHP 코드를 배포한다. |
7. Azure Web App에 최신 빌드 아티팩트를 배포하려면 저장된 릴리즈 정의를 대기열에 추가한다.
8. 릴리즈가 성공하면 생성 된 웹 앱으로 이동하여 PHP 애플리케이션을 확인한다.
요약
이 랩에서는 Azure Pipelines를 사용하여 Azure Web App에 PHP 애플리케이션을 배포하는 방법을 배웠다.