프로젝트 구성 톺아보기

이 글은 2024-08-09에 최종 업데이트 되었습니다.

Table of contents

템플릿으로 만들어진 프로젝트의 구성을 살펴 보겠습니다.

*******


이 프로젝트는 사실 두 개의 결과물을 가지고 있습니다.

  • 메세지 익스텐션으로 등록되는 애저 봇프레임워크 (Azure BotFramework)
  • 애저 봇프레임워크가 호출하는 웹앱 이 두개의 모듈이 하나의 프로젝트에 섞여 있습니다.

그래서 F5 키를 눌러 디버깅을 시작하면,

  1. 웹앱을 빌드하여 로컬 웹서버에서 디버깅 모드로 실행합니다. localhost 주소로 URL 부여됩니다.
  2. VS Code 에 내장된 데브 프록시(Dev Proxy)가 실행되며 인터넷에서 호출가능한 HTTPS URL이 생성됩니다. (디버깅 할 때마다 새로 생성)
  3. 데브 프록시로 생성된 URL 정보를 가지고 있는 봇(Bot)을 클라우드에 생성합니다.
  4. 봇의 정보를 manifest.json 에 기록합니다.
  5. manifest.json과 아이콘을 zip 파일로 압축합니다. (Teams App Pakaging)
  6. 웹브라우저로 팀즈를 실행하면서 앱패키지를 업로드 합니다.
  7. 사용자에게 앱 추가 버튼을 보여주고 테스트를 시작하게 합니다.

프로젝트 내의 teamsaoo.local.yml 파일이 이 작업의 절차를 정의한 것입니다.


폴더를 기준으로 이야기 하자면,

  • appPakage
    • 매니페스트 파일과 아이콘 이미지가 저장되고, 팀즈 앱 패키지가 저장됩니다.
  • env
    • 환경설정 파일이 저장됩니다.
  • infra
    • 애저 봇프레임웍에 봇을 배포하기 위한 파일이 저장됩니다.
  • src
    • 봇이 호출하는 웹앱의 소스가 저장됩니다.

*******