ALM과 환경 변수 — 만든 뒤를 책임지기

시간 소요 수강생 역할
16:55 30분 👀 시연 + 💬 토론

목차

  1. 이 블록이 마지막에 있는 이유
  2. 두 개의 실습
  3. 큰 그림: 만든 뒤의 5단계
  4. 솔루션과 환경 변수 — 두 단어 정리
    1. 솔루션(Solution)
    2. 환경 변수(Environment Variable)
    3. 하드코딩 vs 환경 변수
  5. 환경 변수로 빼야 할 대표 값
  6. 환경 분리 — dev / test / prod
  7. 다음 단계

이 블록이 마지막에 있는 이유

만들었으면 끝이 아닙니다. 만든 뒤가 진짜 시작입니다.

S1~S9까지 우리는 도구를 늘리고, 데이터를 어디 넣을지 정하고, 패턴으로 묶었습니다. 이제 그 결과물을 어떻게 운영 가능한 상태로 정리하는가 — 이 블록의 주제입니다.

학습자가 자주 빠지는 함정:

함정 결과
기본 솔루션에 모든 걸 만든다 다른 환경(테넌트/조직)에 옮기지 못함
URL·ID를 흐름에 직접 입력한다 운영 배포 시 모든 흐름을 일일이 수정해야 함
dev/test/prod 구분 없이 한 환경에서 모든 걸 한다 사용자 영향이 큰 변경을 검증할 수 없음

이 블록은 그 함정을 피하는 솔루션·환경 변수·환경 분리라는 세 가지 도구를 정리합니다.


두 개의 실습

실습 주제 시간
실습 ① — 사용자 정의 솔루션 만들기 솔루션 생성·게시자·구성요소 추가 15분
실습 ② — 환경 변수 적용하기 변수 정의·흐름·토픽에서 참조 15분

큰 그림: 만든 뒤의 5단계

① 솔루션 만들기 (실습 ①)
        │
        ▼
② 에이전트·흐름·연결 등을 솔루션에 묶기
        │
        ▼
③ URL·ID 등 환경별 값을 환경 변수로 추출 (실습 ②)
        │
        ▼
④ 솔루션 내보내기(Export)
        │
        ▼
⑤ 다른 환경(test/prod)에 가져오기(Import) + 환경 변수만 다시 입력

이 다섯 단계가 ALM(Application Lifecycle Management)의 출발선입니다. 오늘은 ① ~ ③까지 직접 만져보고, ④·⑤는 시연·토론으로 다룹니다.


솔루션과 환경 변수 — 두 단어 정리

솔루션(Solution)

   
정의 에이전트·흐름·연결·환경 변수 등을 하나의 패키지로 묶는 컨테이너
왜 필요 다른 환경으로 옮기려면 묶음 단위 이동이 필수. 기본 솔루션은 이동 불가
어디서 Power Apps · Copilot Studio · Power Automate 공통의 “솔루션” 메뉴

환경 변수(Environment Variable)

   
정의 솔루션 안에서 설정값을 이름으로 관리하는 매개변수
왜 필요 URL·사이트 주소 등을 흐름에 하드코딩하지 않아야 환경이 바뀌어도 흐름이 그대로
어떻게 흐름·토픽·연결에서 환경변수.<이름>으로 참조

하드코딩 vs 환경 변수

하드코딩 환경 변수
https://company.sharepoint.com/sites/hr @{환경변수.SharePointSiteUrl}
환경이 바뀌면 모든 흐름 수정 환경 변수 값만 변경
개발 환경 (dev)                    운영 환경 (prod)
┌─────────────────────┐          ┌─────────────────────┐
│ ExcelTableUrl       │          │ ExcelTableUrl       │
│ = dev용 Excel URL   │   ──→   │ = prod용 Excel URL  │
│ SharePointSiteUrl   │  배포    │ SharePointSiteUrl   │
│ = dev용 SP 주소     │          │ = prod용 SP 주소    │
└─────────────────────┘          └─────────────────────┘
      흐름·토픽·에이전트 본체는 그대로, 값만 바뀜

환경 변수로 빼야 할 대표 값

환경 변수 이름 예시 어디서 썼나
Excel 테이블 URL / 워크북 ID ExpenseExcelUrl, AssetExcelId S2 / S7
SharePoint 사이트 주소 HrSiteUrl M8
API base URL ExchangeApiBase S4 (Frankfurter)
MCP 서버 URL McpServerUrl S5
알림 받는 메일/팀 NotifyEmail, NotifyTeamId S2 / S3
AI 프롬프트 모델 AiBuilderPromptName S2 / S3

오늘 심화과정에서 만든 모든 흐름은 이런 값을 가지고 있습니다. 실습 ②에서 그중 하나를 골라 환경 변수로 빼봅니다.


환경 분리 — dev / test / prod

환경 목적 누가 만지나
dev 개발자가 자유롭게 만지는 곳 개발자만
test 사용자 검증·UAT 검증자 + 개발자
prod 실제 사용자 끝사용자만 — 직접 수정 금지

권장 흐름: dev에서 만든다 → 솔루션 내보내기 → test로 가져와 검증 → prod로 가져와 배포. 매 단계마다 환경 변수만 그 환경에 맞게 채우면 됩니다.

환경 분리는 라이선스가 필요해 한 명이 다 갖춘 채로 학습하긴 어렵습니다. 오늘은 개념과 절차만 정리하고, 사내 도입 단계에서 실제 환경을 분리하시면 됩니다.


다음 단계

먼저 실습 ① — 사용자 정의 솔루션 만들기로 시작합니다.


Table of contents


문과생을 위한 Copilot Studio — 개발자 없이 만드는 우리 팀 전용 AI

This site uses Just the Docs, a documentation theme for Jekyll.