Microsoft Teams 앱 개발 및 배포 과정에서 "provision", "deploy", "publish" 용어 정의

Provision (프로비저닝)

  • 정의: 앱이 실행될 인프라(클라우드 리소스, : Azure App Service, Azure Functions, 데이터베이스 등)를 생성하고 설정하는 과정입니다.
  • MS Teams 앱에서의 역할: Teams 앱의 백엔드(: , API ) Azure에 올리기 전에, 해당 리소스(서버, 스토리지 등)를 실제로 만들어주는 단계입니다.
  • 특징:

- 일반적으로 한 번만 수행(리소스 구조가 바뀔 때만 다시 실행)

- 예시: Azure에 웹앱, 함수, 스토리지 계정 등 생성

  • 실행 시점: 앱 코드 배포 전 반드시 선행되어야 함

 

Deploy (배포)

  • 정의: 이미 프로비저닝된(생성된) 인프라에 실제 앱의 코드(프론트엔드, 백엔드 등)를 업로드하고 실행 가능하게 만드는 과정입니다.
  • MS Teams 앱에서의 역할: 예를 들어, Azure에 생성된 웹앱 리소스에 최신 코드(앱의 실제 동작 부분)를 업로드합니다.
  • 특징:
    • 코드 변경 시마다 반복적으로 수행
    • 리소스(서버)는 그대로 두고, 그 위에 코드만 새로 올리는 것
  • 실행 시점: 프로비저닝이 완료된 후, 코드가 변경될 때마다

 

Publish (퍼블리시/게시)

  • 정의: 앱을 실제 사용자(조직, , 전체 공개 등)가 사용할 수 있도록 Teams 플랫폼(앱 카탈로그, Teams Store )에 등록하는 과정입니다.
  • MS Teams 앱에서의 역할: 앱 패키지(매니페스트, 아이콘 등)를 만들어 Teams에 업로드하고, 조직 또는 전 세계 사용자가 설치할 수 있도록 만듭니다.
  • 특징:
    • 배포된 앱을 실제로 Teams에서 사용할 수 있게 만드는 마지막 단계
    • 조직 내부 배포, 특정 사용자 배포, Teams Store 전 세계 배포 등 다양한 옵션 존재
    • Teams Store 등록 시 Microsoft의 심사 필요
  • 실행 시점: 인프라와 코드 배포가 모두 끝난 후, 앱을 실제로 배포하고자 할 때

 

MS Teams 앱 개발 라이프사이클 예시

  • Provision
    Azure에 필요한 리소스(웹앱, 데이터베이스 등) 생성
  • Deploy
    위에서 생성한 리소스에 실제 Teams 앱 코드(: , API, 웹페이지 등) 업로드
  • Publish
    • 앱 패키지(zip: 매니페스트, 아이콘 등)를 생성하여 Teams에 업로드
    • 조직 내 배포, 특정 팀/개인 배포, 혹은 Teams Store에 전 세계 배포

 

 


댓글