Azure DevOps를 사용하여 표준 논리 앱 워크플로에 대한 빌드 및 배포 자동화
단일 테넌트 Azure Logic Apps에서 실행되는 표준 논리 앱 워크플로의 경우 Azure Logic Apps(표준) 확장과 함께 Visual Studio Code를 사용하여 소스 제어 시스템을 사용하여 논리 앱 프로젝트를 로컬로 개발, 테스트 및 저장할 수 있습니다. 그러나 다양한 환경 및 플랫폼에서 워크플로를 쉽고 일관되게 배포하는 모든 이점을 얻으려면 빌드 및 배포 프로세스도 자동화해야 합니다.
Azure Logic Apps(표준) 확장은 Azure DevOps를 사용하여 자동화된 빌드 및 배포 프로세스를 만들고 유지 관리하는 도구를 제공합니다. 그러나 이 자동화를 시작하기 전에 다음 요소를 고려합니다.
워크플로를 만드는 Azure 논리 앱 리소스
워크플로에서 사용하고 Microsoft 관리 커넥터에서 만든 Azure 호스팅 연결입니다.
이러한 연결은 Azure Logic Apps 런타임에서 직접 및 기본적으로 실행되는 연결과 다릅니다.
배포하려는 다양한 환경에 대한 특정 설정 및 매개 변수
확장을 사용하면 빌드 및 배포를 자동화하는 데 필요한 다음 작업을 완료할 수 있습니다.
디자인 타임에 연결 참조를 매개 변수화합니다. 이 작업은 로컬 개발 기능을 중단하지 않고 다른 환경에서 참조를 업데이트하는 프로세스를 간소화합니다.
모든 종속 리소스를 포함하여 표준 논리 앱 리소스에 대한 배포를 자동화하는 스크립트를 생성합니다.
Azure 호스팅 연결에 대한 배포를 자동화하는 스크립트를 생성합니다.
로컬 개발 기능을 중단하지 않고 빌드 프로세스 중에 Azure Logic Apps 패키지에 삽입할 수 있는 환경별 매개 변수를 준비합니다.
빌드 및 릴리스 프로세스와 함께 인프라 배포를 지원하기 위해 Azure DevOps를 사용하여 요청 시 파이프라인을 생성합니다.
이 가이드에서는 다음 작업을 완료하는 방법을 보여 줍니다.
Visual Studio Code에서 인프라 배포, CI(연속 통합) 및 CD(지속적인 배포)에 대한 파이프라인을 만드는 파일을 포함하는 논리 앱 작업 영역 및 프로젝트를 만듭니다.
Azure DevOps에서 작업 영역과 Git 리포지토리 간에 연결을 만듭니다.
Azure DevOps에서 파이프라인을 만듭니다.
자세한 내용은 다음 설명서를 참조하세요.
알려진 문제 및 제한 사항
이 기능은 표준 논리 앱 프로젝트만 지원합니다. Visual Studio Code 작업 영역에 표준 논리 앱 프로젝트와 Functions 사용자 지정 코드 프로젝트가 모두 포함된 경우 배포 스크립트가 생성되지만 사용자 지정 코드 프로젝트는 현재 무시됩니다. 사용자 지정 코드에 대한 빌드 파이프라인을 만드는 기능은 로드맵에 있습니다.
확장은 인프라 배포, CI(연속 통합) 및 CD(지속적인 배포)를 위한 파이프라인을 만듭니다. 그러나 파이프라인을 Azure DevOps에 연결하고 관련 트리거를 만들어야 합니다.
현재 확장은 인프라 배포 스크립트에 대한 ARM 템플릿(Azure Resource Management 템플릿)만 지원합니다. 다른 템플릿은 계획 중입니다.
필수 조건
Azure 계정 및 구독 구독이 없는 경우 Azure 체험 계정에 등록합니다.
Visual Studio Code 및 Azure Logic Apps(표준) 확장. 이러한 요구 사항을 충족하려면 Visual Studio Code를 사용하여 표준 워크플로 만들기 필수 구성 요소를 참조하세요.
Azure Logic Apps(표준) Azure DevOps 작업에 대한 빌드 및 릴리스 작업입니다. Azure DevOps Marketplace에서 이러한 작업을 찾을 수 있습니다.
논리 앱 프로젝트를 저장할 수 있는 Azure DevOps의 기존 Git 리포지토리입니다.
논리 앱을 배포하려는 기존 Azure 리소스 그룹 입니다.
논리 앱 작업 영역, 프로젝트 및 워크플로 만들기
Visual Studio Code의 작업 표시줄에서 Azure 아이콘을 선택합니다.
Azure 창의 작업 영역 도구 모음에서 Azure Logic Apps 메뉴를 열고 새 논리 앱 작업 영역 만들기를 선택합니다.
프롬프트에 따라 다음 작업을 완료합니다.
폴더를 선택하여 작업 영역을 만듭니다.
작업 영역 이름을 입력합니다.
프로젝트 유형 선택: 논리 앱
논리 앱 프로젝트 이름을 입력합니다.
워크플로 템플릿을 선택합니다. 워크플로 이름을 입력합니다.
현재 Visual Studio Code 창에서 작업 영역을 열지 아니면 새 창에서 열지 선택합니다.
Visual Studio Code는 새 작업 영역 및 논리 앱 프로젝트를 보여 줍니다.
워크플로 디자이너를 열려면 다음 단계를 수행합니다.
논리 앱 프로젝트에서 워크플로 이름으로 폴더를 확장합니다.
아직 열리지 않은 경우 workflow.json 파일을 열고 파일의 바로 가기 메뉴를 열고 디자이너 열기를 선택합니다.
프로젝트가 로드될 때 연결에 대한 매개 변수화를 허용하라는 메시지가 표시되면 예를 선택합니다.
이 선택을 통해 프로젝트는 서로 다른 환경에 대한 빌드 및 배포를 자동화할 수 있도록 연결 정의에서 매개 변수를 사용할 수 있습니다.
프롬프트에 따라 다음 항목을 선택합니다.
Azure에서 커넥터 사용
참고 항목
이 단계를 건너뛰면 런타임 호스팅된 기본 제공 커넥터만 사용할 수 있습니다. 나중에 Microsoft 관리형 Azure 호스팅 커넥터를 사용하도록 설정하려면 다음 단계를 수행합니다.
workflow.json 파일의 바로 가기 메뉴를 열고 Azure에서 커넥터 사용을 선택합니다.
논리 앱에 사용할 기존 Azure 리소스 그룹을 선택합니다.
워크플로 디자이너를 다시 로드합니다.
논리 앱에 사용하려는 기존 Azure 리소스 그룹
완료되면 워크플로 디자이너를 다시 로드합니다. Azure에 로그인하라는 메시지가 표시되면 로그인합니다.
이제 원하는 방식으로 워크플로를 편집하고 워크플로를 로컬로 테스트할 수 있습니다. 샘플 워크플로를 만들고 테스트하려면 Visual Studio Code를 사용하여 표준 워크플로 만들기를 참조하세요.
배포 스크립트 생성
워크플로를 만들고 로컬로 테스트한 후 배포 스크립트를 만듭니다.
모든 프로젝트 파일 아래의 빈 영역에서 프로젝트의 바로 가기 메뉴를 열고 배포 스크립트 생성을 선택합니다.
프롬프트에 따라 다음 단계를 완료합니다.
논리 앱에 사용할 기존 Azure 리소스 그룹을 선택합니다.
논리 앱 리소스의 고유한 이름을 입력합니다.
스토리지 계정 리소스의 고유한 이름을 입력합니다.
App Service 요금제에 사용할 고유한 이름을 입력합니다.
파일을 생성할 작업 영역 폴더를 선택합니다.
배포 폴더 위치 설명 새 배포 폴더(기본값) 현재 작업 영역에 새 폴더를 만듭니다. 다른 폴더 선택 현재 작업 영역에서 다른 폴더를 선택합니다.
완료되면 Visual Studio Code는 작업 영역 루트에 배포/{logic-app-name}라는 폴더를 만듭니다. 이 폴더는 이러한 단계에서 제공한 것과 동일한 논리 앱 이름을 사용합니다.
참고 항목
다음 파일의 변수, 앱 설정 및 매개 변수 값은 이러한 단계에서 제공한 입력에 따라 미리 채워집니다. 다른 환경을 대상으로 하는 경우 생성된 매개 변수 및 변수 파일에 대한 값을 업데이트해야 합니다.
{logic-app-name} 폴더 아래에 다음과 같은 구조가 있습니다.
폴더 이름 파일 이름 및 설명 ADOPipelineScripts - CD-pipeline.yml: 논리 앱 코드를 Azure의 논리 앱 리소스에 배포하는 지침이 포함된 연속 배달 파이프라인입니다.
- CD-pipeline-variables.yml: CD-pipeline.yml 파일에서 사용하는 변수를 포함하는 YAML 파일입니다.
- CI-pipeline.yml: 논리 앱 리소스를 Azure에 배포하는 데 필요한 아티팩트 빌드 및 생성 지침이 포함된 연속 통합 파이프라인입니다.
- CI-pipeline-variables.yml: CI-pipeline.yml 파일에서 사용하는 변수를 포함하는 YAML 파일입니다.
- infrastructure-pipeline.yml: 모든 ARM 템플릿을 Azure에 로드하고 infrastructure-pipeline-template.yml 파일에서 단계를 실행하는 지침이 포함된 YAML "코드 기반 인프라" 파이프라인입니다.
- infrastructure-pipeline-template.yml: 모든 필수 종속성이 있는 논리 앱 리소스를 배포하고 소스 코드에 필요한 관리되는 각 연결을 배포하는 단계를 포함하는 YAML 파이프라인 파일입니다.
- infrastructure-pipeline-variables.yml: infrastructure-pipeline-template.yml 파일에서 단계를 실행하는 데 필요한 모든 변수를 포함하는 YAML 파이프라인입니다.ArmTemplates - {connection-type}.parameters.json: Azure에 {connection-type}이라는 Azure 호스티드 연결을 배포하는 데 필요한 매개 변수를 포함하는 Resource Manager 매개 변수 파일입니다. 이 파일은 워크플로의 각 Azure 호스팅 연결에 대해 존재합니다.
- {connection-type}.template.json: {connection-reference}이라는 Azure 호스팅 연결을 나타네는 Resource Manager 템플릿 파일이고 Azure에 해당 연결 리소스를 배포하는데 사용되는 정보를 포함합니다. 이 파일은 워크플로의 각 Azure 호스팅 연결에 대해 존재합니다.
- {logic-app-name}.parameters.json: 모든 종속성을 포함하여 {logic-app-name}이라는 표준 논리 앱 리소스를 배포하는 데 필요한 매개 변수가 포함된 Resource Manager 매개 변수 파일입니다.
- {logic-app-name}.template.json: {logic-app-name}이라는 표준 논리 앱 리소스를 나타내고 논리 앱 리소스를 Azure에 배포하는 데 사용되는 정보가 포함된 Resource Manager 템플릿 파일입니다.WorkflowParameters parameters.json: 이 JSON 파일은 로컬 매개 변수 파일의 복사본이며 모든 사용자 정의 매개 변수의 복사본과 확장에서 Azure 호스티드 연결을 매개 변수화하기 위해 만든 매개 변수의 클라우드 버전을 포함합니다. 이 파일은 Azure에 배포하는 패키지를 빌드하는 데 사용됩니다.
Git 리포지토리에 작업 영역 연결
리포지토리를 초기화하려면 다음 단계를 수행합니다.
Visual Studio Code의 작업 표시줄에서 소스 제어 아이콘을 선택합니다.
소스 제어 창에서 리포지토리 초기화를 선택합니다.
프롬프트 메뉴에서 폴더 선택을 선택합니다. 작업 영역 루트 폴더를 선택한 다음 리포지토리 초기화를 선택합니다.
소스 제어 창에서 리포지토리 열기를 선택합니다.
프롬프트 메뉴에서 방금 만든 리포지토리를 선택합니다.
자세한 내용은 Visual Studio Code - 로컬 폴더 리포지토리 초기화를 참조하세요.
다음 단계에 따라 원격을 추가할 수 있도록 Git 리포지토리의 URL을 가져옵니다.
Azure DevOps에서 Azure DevOps 조직의 팀 프로젝트를 엽니다.
왼쪽 메뉴에서 Repose확장 및 파일을 선택합니다.
파일 창 도구 모음에서 복제를 선택합니다.
복제 리포지토리 창에서 복제 URL의 HTTPS 버전을 복사합니다.
자세한 내용은 Azure Repos에서 Git 리포지토리에 대한 복제 URL 가져오기를 참조하세요.
다음 단계에 따라 Git 리포지토리에 대한 원격을 추가합니다.
프롬프트에서 복사한 URL을 붙여넣고 원격의 이름을 입력합니다. 이 이름은 일반적으로 원본입니다.
이제 Visual Studio Code와 리포지토리 간에 연결을 만들었습니다.
다음 섹션에서 파이프라인을 설정하기 전에 CD-pipeline.yml 파일을 열고
source
특성에서 CI 파이프라인 이름을 사용하려는 CI 파이프라인 이름과 일치하도록 바꿉니다.소스 제어 창에서 변경 내용을 커밋하고 리포지토리에 게시합니다.
자세한 내용은 스테이지 및 커밋 코드 변경을 참조하세요.
Azure DevOps에서 파이프라인 만들기
Azure DevOps에서 CI 및 CD 파이프라인과 함께 인프라를 만들려면 다음 파이프라인 파일 각각에 대해 다음 단계를 반복합니다.
- "코드 기반 인프라" 파이프라인에 대한infrastructure-pipeline.yml.
- 연속 통합 파이프라인에 대한 CI-pipeline.yml.
- 연속 딜리버리 파이프라인에 대한CD-pipeline.yml.
파이프라인 설정
Azure DevOps에서 팀 프로젝트 및 Repos>파일 창으로 돌아갑니다.
파일 창에서 빌드 설정을 선택합니다.
파이프라인 인벤토리 창에서 리포지토리 정보를 확인하고 파이프라인 구성을 선택합니다.
파이프라인 구성 창에서 기존 Azure Pipelines YAML 파일을 선택합니다.
기존 YAML 파일 창에서 다음 단계에 따라 Infrastructure-pipeline.yml 파일을 선택합니다.
파이프라인 구성 창에서 파이프라인을 검토를 선택합니다.
관리되는 파이프라인 검토 창에서 다음 정보를 제공합니다.
- 파이프라인 이름: 파이프라인의 이름을 입력합니다.
- 파이프라인 폴더: 파이프라인을 저장할 폴더를 선택합니다. 이 폴더는 ./deployment/{logic-app-name}/pipelines로 명명되었습니다.
완료되면 저장을 선택합니다.
파이프라인 보기 및 실행
파이프라인을 찾아 실행하려면 다음 단계를 수행합니다.
팀 프로젝트의 왼쪽 메뉴에서 Pipelines을 확장하고 Pipelines을 선택합니다.
모든 탭을 선택하여 사용 가능한 모든 파이프라인을 봅니다. 파이프라인을 찾아 선택합니다.
파이프라인의 도구 모음에서 파이프라인 실행을 선택합니다.
자세한 내용은 첫 번째 파이프라인 만들기를 참조하세요.