프로젝트 구성 톺아보기
이 글은 2024-08-09에 최종 업데이트 되었습니다.
Table of contents
템플릿으로 만들어진 프로젝트의 구성을 살펴 보겠습니다.
이 프로젝트는 사실 두 개의 결과물을 가지고 있습니다.
- 메세지 익스텐션으로 등록되는 애저 봇프레임워크 (Azure BotFramework)
- 애저 봇프레임워크가 호출하는 웹앱 이 두개의 모듈이 하나의 프로젝트에 섞여 있습니다.
그래서 F5 키를 눌러 디버깅을 시작하면,
- 웹앱을 빌드하여 로컬 웹서버에서 디버깅 모드로 실행합니다. localhost 주소로 URL 부여됩니다.
- VS Code 에 내장된 데브 프록시(Dev Proxy)가 실행되며 인터넷에서 호출가능한 HTTPS URL이 생성됩니다. (디버깅 할 때마다 새로 생성)
- 데브 프록시로 생성된 URL 정보를 가지고 있는 봇(Bot)을 클라우드에 생성합니다.
- 봇의 정보를 manifest.json 에 기록합니다.
- manifest.json과 아이콘을 zip 파일로 압축합니다. (Teams App Pakaging)
- 웹브라우저로 팀즈를 실행하면서 앱패키지를 업로드 합니다.
- 사용자에게 앱 추가 버튼을 보여주고 테스트를 시작하게 합니다.
프로젝트 내의 teamsaoo.local.yml 파일이 이 작업의 절차를 정의한 것입니다.
폴더를 기준으로 이야기 하자면,
- appPakage
- 매니페스트 파일과 아이콘 이미지가 저장되고, 팀즈 앱 패키지가 저장됩니다.
- env
- 환경설정 파일이 저장됩니다.
- infra
- 애저 봇프레임웍에 봇을 배포하기 위한 파일이 저장됩니다.
- src
- 봇이 호출하는 웹앱의 소스가 저장됩니다.