<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Infrastructure as Code | The .NET Blog</title><link>https://thedotnetblog.com/ko/tags/infrastructure-as-code/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ko</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 21 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ko/tags/infrastructure-as-code/index.xml" rel="self" type="application/rss+xml"/><item><title>azd + GitHub Copilot: AI 기반 프로젝트 설정과 스마트 오류 해결</title><link>https://thedotnetblog.com/ko/posts/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ko/posts/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/</guid><description>Azure Developer CLI가 GitHub Copilot과 통합되어 프로젝트 인프라를 생성하고 배포 오류를 해결합니다 — 터미널을 벗어날 필요 없이.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;이 글은 자동 번역되었습니다. 영어 원문은 &lt;a href="https://thedotnetblog.com/ko/posts/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/"&gt;여기&lt;/a&gt;에서 확인할 수 있습니다.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;기존 앱을 Azure에 배포하려고 할 때, 빈 &lt;code&gt;azure.yaml&lt;/code&gt; 파일을 보며 Express API가 Container Apps를 써야 할지 App Service를 써야 할지 떠올리려 했던 경험 있으신가요? 그런 순간이 이제 훨씬 짧아집니다.&lt;/p&gt;
&lt;p&gt;Azure Developer CLI(&lt;code&gt;azd&lt;/code&gt;)가 GitHub Copilot과 두 가지 방식으로 통합되었습니다: &lt;code&gt;azd init&lt;/code&gt; 실행 시 AI 지원 프로젝트 스캐폴딩, 그리고 배포 실패 시 지능형 오류 트러블슈팅. 두 기능 모두 터미널 안에서 완전히 동작합니다 — 딱 원하는 방식입니다.&lt;/p&gt;
&lt;h2 id="azd-init에서-copilot-설정"&gt;azd init에서 Copilot 설정&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd init&lt;/code&gt;을 실행하면 이제 &amp;ldquo;Set up with GitHub Copilot (Preview)&amp;rdquo; 옵션이 나타납니다. 선택하면 Copilot이 코드베이스를 분석하여 실제 코드를 기반으로 &lt;code&gt;azure.yaml&lt;/code&gt;, 인프라 템플릿, Bicep 모듈을 생성합니다.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd init
# 선택: &amp;#34;Set up with GitHub Copilot (Preview)&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;필요한 것들:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;azd 1.23.11 이상&lt;/strong&gt; — &lt;code&gt;azd version&lt;/code&gt;으로 확인하거나 &lt;code&gt;azd update&lt;/code&gt;로 업데이트&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;활성 GitHub Copilot 구독&lt;/strong&gt; (Individual, Business 또는 Enterprise)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub CLI (&lt;code&gt;gh&lt;/code&gt;)&lt;/strong&gt; — 필요 시 &lt;code&gt;azd&lt;/code&gt;가 로그인을 요청함&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;정말 유용한 점은 양방향으로 동작한다는 것입니다. 처음부터 빌드한다면? Copilot이 처음부터 올바른 Azure 서비스를 설정하도록 도와줍니다. 배포하고 싶은 기존 앱이 있다면? Copilot을 그쪽으로 지향하면 코드 구조를 바꾸지 않고도 설정을 생성해 줍니다.&lt;/p&gt;
&lt;h3 id="실제로-무엇을-하나"&gt;실제로 무엇을 하나&lt;/h3&gt;
&lt;p&gt;PostgreSQL 의존성이 있는 Node.js Express API가 있다고 합시다. Container Apps와 App Service 중 무엇을 선택할지 수동으로 결정하고 Bicep을 처음부터 작성하는 대신, Copilot이 스택을 감지하고 다음을 생성합니다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;올바른 &lt;code&gt;language&lt;/code&gt;, &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;build&lt;/code&gt; 설정이 담긴 &lt;code&gt;azure.yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Azure Container Apps를 위한 Bicep 모듈&lt;/li&gt;
&lt;li&gt;Azure Database for PostgreSQL을 위한 Bicep 모듈&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;그리고 무언가를 변경하기 전에 사전 검사를 실행합니다 — git 작업 디렉토리가 깨끗한지 확인하고, MCP 서버 도구 동의를 미리 요청합니다. 무엇이 바뀌는지 정확히 알고 난 뒤에만 진행됩니다.&lt;/p&gt;
&lt;h2 id="copilot-기반-오류-트러블슈팅"&gt;Copilot 기반 오류 트러블슈팅&lt;/h2&gt;
&lt;p&gt;배포 오류는 피할 수 없습니다. 누락된 파라미터, 권한 문제, SKU 가용성 문제 — 그리고 오류 메시지는 정작 필요한 것을 알려주지 않습니다: &lt;em&gt;어떻게 고치는가&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Copilot 없이는: 오류 복사 → 문서 검색 → 관련 없는 Stack Overflow 답변 3개 읽기 → &lt;code&gt;az&lt;/code&gt; CLI 명령어 실행 → 다시 시도하며 기도. &lt;code&gt;azd&lt;/code&gt;에 Copilot이 통합되면 이 루프가 사라집니다. &lt;code&gt;azd&lt;/code&gt; 명령이 실패하면 즉시 4가지 옵션을 제공합니다:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Explain&lt;/strong&gt; — 무엇이 잘못됐는지 알기 쉬운 설명&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Guidance&lt;/strong&gt; — 수정을 위한 단계별 지침&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diagnose and Guide&lt;/strong&gt; — 완전한 분석 + Copilot이 수정 적용 (승인 후) + 선택적 재시도&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skip&lt;/strong&gt; — 직접 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;핵심: Copilot은 이미 프로젝트, 실패한 명령, 오류 세부 정보의 컨텍스트를 갖고 있습니다. 제안은 &lt;em&gt;여러분의 상황&lt;/em&gt;에 맞게 구체적입니다.&lt;/p&gt;
&lt;h3 id="기본-동작-설정"&gt;기본 동작 설정&lt;/h3&gt;
&lt;p&gt;항상 같은 옵션을 선택한다면, 인터랙티브 프롬프트를 건너뛸 수 있습니다:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config set copilot.errorHandling.category troubleshoot
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;값: &lt;code&gt;explain&lt;/code&gt;, &lt;code&gt;guidance&lt;/code&gt;, &lt;code&gt;troubleshoot&lt;/code&gt;, &lt;code&gt;fix&lt;/code&gt;, &lt;code&gt;skip&lt;/code&gt;. 자동 수정 및 재시도도 활성화할 수 있습니다:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config set copilot.errorHandling.fix allow
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;언제든지 인터랙티브 모드로 되돌리기:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config unset copilot.errorHandling.category
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="마무리"&gt;마무리&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd update&lt;/code&gt;로 최신 버전을 받고 다음 프로젝트에서 &lt;code&gt;azd init&lt;/code&gt;을 써보세요. 진정한 가치를 주는 Copilot 통합입니다.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-copilot-integration/"&gt;원문 발표를 여기서 읽어보세요&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>