핸즈온을 시작하기 전에 준비하고 점검할 사항

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

Table of contents

코파일럿의 정의

이 핸즈온에서 언급하는 “코파일럿”은 Copilot for Microsoft 365 를 의미합니다.

핸즈온 개요

이 핸즈온 실습에서는 메세지 익스텐션을 이용한 코파일럿 플러그인을 만드는 과정을 경험하게 될 것입니다. 이 핸즈온의 최종 목표는 외부에 존재하는 API와 연동하는 코파일럿 플러그인을 실제로 만들고 배포하는 것입니다.
본 과정을 모두 마치면 아래와 같은 플러그인을 얻게 될 것입니다.

포켓몬플러그인


코파일럿의 플러그인이 발표된지 꽤 오랜 시간이 지났고, 발표된 플러그인의 종류도 여러가지 이지만, 현재 시점에서 가장 제대로 동작하는 것은 메세지 익스텐션을 활용한 플러그인 입니다.

핸즈온 환경

이 핸즈온은 윈도우 OS 환경을 기준으로 설명하고 있습니다.
그렇지만, 이전의 워크샵 경험에 비추어 볼 때, 맥북을 가지고 실습에 참여한 분들도 초기의 환경적인 이슈만 트러블슈팅 하고나면 이후의 진행은 큰 무리없이 매끄럽게 진행되었었습니다. (죄송하게도 맥OS에서의 트러블슈팅에는 제가 그다지 도움이 못됩니다. :) )
그리고 정말 당연한 이야기 이지만, 인터넷 접속에 문제가 없어야 합니다. 특히 개발환경에서 M365와 애저(Azure)를 기반으로한 마이크로소프트 클라우드 시스템에 대한 접속에 보장되어야 합니다. 엔터프라이즈 고객의 대부분이 보안이 강화된 환경에서 M365와 애저를 사용하고 계시기 때문에, 실제 워크샵을 진행해보면 방화벽이나 웹프록시의 연결제한에 의해 진행이 안되는 경우가 많습니다.

랩탑에서 팀즈와 코파일럿만 접속되면 되는거 아니에요?

당연히 팀즈와 코파일럿의 접속이 확보되는 것이 필요합니다. 거기에 덧붙여 VS Code 에서 사용하는 굉장히 많은 애저쪽 서비스에 대한 접속허용이 필요합니다. 그리고 로컬 디버깅을 위한 VSCode Dev Proxy기능을 위해서도 광범위한 애저 서비스 연결 허용이 필요합니다. 디버깅을 할 때마다 Dev Proxy 에서 동적 URL이 생성되므로, 사전에 URL을 조사하여 오픈하는 것도 쉽지 않습니다. 보안팀을 설득하여 개발자를 위한 특별한 방화벽 허용정책이 적용될 수 있도록 하시는 것이 필요할 수도 있습니다.

핸즈온 준비

이 핸즈온을 진행하기 위해서는 사전에 여려가지 준비되어야 할 것들이 있습니다.

  1. 개발 클라이언트 환경
  2. Microsoft 365 환경
  3. Azure 구독환경

하나씩 살펴보자면…….

1. 개발 클라이언트 환경

OS는 윈도우여도, 맥이어도 상관없습니다. 개발에 필요한 프로그램이 양 쪽 모두 구비되어 있기 때문입니다. 다만 팀즈를 웹으로 접속할 수 도 있어야 합니다. VS Code 개발을 하면서 로컬 디버깅을 할 때, 웹브라우저로 팀즈에 접속하기 때문입니다.

엔터프라이즈 고객의 경우 조건부 제어를 통해 웹브라우저를 이용한 팀즈 접속을 제한하는 설정을 구성하기도 합니다. 이런 환경에서는 VS Code 의 자동 디버깅을 수행하기는 어렵습니다. 디버깅을 시작한 후 수동으로 앱을 업로드하여 실행하는 방법을 사용해야 합니다.

a. NodeJS v18 다운로드 및 설치

먼저 NodeJS V18 LTS 버전을 설치합니다. Node JS v18 LTS 다운로드

NodeJS V18

Node JS 버전관련

현재 사용하고 있는 예제의 템플릿은 Node JS v18 또는 v16 에서 동작하도록 설계되어 있습니다. 관성대로 Node JS 최신버전을 설치하면 오류가 발생할 가능성이 있으니 유의해주세요.

b. VS Code 다운로드 및 설치

그 다음 VS Code (Visual Studio Code) 가 설치되어야 합니다. VS Code는 최신버전으로 설치해주시면 됩니다. 2024-08-05일 기준 1.92 버전이 최신 버전입니다. VS Code 최신버전 다운로드

c. VS Code 확장 설치

설치한 VS Code 를 실행하여, 왼쪽에서 [Extensions] 아이콘을 클릭하여 두 개의 익스텐션을 설치해야 합니다.

  • Teams Toolkit
  • YAML
  • Adaptive Card Previewer (이건 옵션입니다.)

VSCodeToolkit


설치가 완료되면 아래와 같이 VS Code의 왼쪽 메뉴에 팀즈 아이콘이 보여지게 됩니다.

VSCodeToolkit


d. Teams Toolkit의 코파일럿 옵션 활성화

이제 다시 왼쪽의 Extension 아이콘을 클릭하여 팀즈 툴킷을 찾고, 기어 모양 아이콘을 클릭하여 설정 화면으로 이동해 주십시오.

VSCodeToolkit


설정화면에서 “Develop Copilot Plugin”이라는 항목을 체크해주십시오. 그리고 VS Code를 재시작해야 합니다.

VSCodeToolkit


2. Microsoft 365 환경

M365 환경쪽에서도 사전에 점검하고 준비해야할 사항이 있습니다.

a. 코파일럿 라이선스

M365 계정에 코파일럿 라이선스가 할당되어 있어야 합니다. 그리고 팀즈에서 코파일럿 앱 (M365 Chat)을 사용할 수 있어야 합니다. 라이선스가 할당되어도 팀즈 앱 정책에서 코파일럿 앱을 제한하고 있다면, 팀즈에서 M365 Chat이 노출되지 않습니다. 그런 상황에서는 M365 운영 관리자에게 팀즈 앱 정책을 확인해 달라고 하셔야 합니다.

copilot


b. 팀즈 앱 정책 - 사이드로딩 허용

팀즈의 앱개발을 위해서는 개발자가 자신이 만든 앱을 스스로 업로드 하고 테스트 할 수 있어야 합니다. 팀즈 관리자가 정책을 통해 허용해 주어야 하는 부분입니다. 이 기능이 동작하지 않는다면 M365 운영 관리자에게 관련 정책을 확인해 달라고 하셔야 합니다.

사이드로딩


c. Azure 앱 등록 허용

코파일럿 플러그인 개발을 위해서는 M365와 연결된 Azure 환경에 앱 등록 할 수 있는 권한이 필요합니다. 보안이 강화된 고객사의 환경의 경우, 이 권한을 제한하는 경우가 많습니다. 아래 주소에 접속하여 현재 나의 계정이 앱 등록할 수 있는지 확인해 보시길 바랍니다. 이 권한이 없다면 운영 관리자의 지원을 받으셔야 합니다.
https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/RegisteredApps

앱 등록


Table of contents