๐ ํด๋ฆญ์ ๋ฉ์ถ๊ณ ์ฝ๋ฉ์ ์์ํ์ธ์: VS Code์ AI๋ก n8n์ ๋ถ์คํธํ๋ ๋ฐฉ๋ฒ
Source: Dev.to

n8n์ ์๋ํ ๋๊ตฌ๋ก ์ข์ํ์ง๋ง ๋ ๋น ๋ฅด๊ฒ ์์ ํ๊ณ ์ถ๋ค๋ฉด, ์ด ํํ ๋ฆฌ์ผ์ด ๋ฐ๋ก ๋น์ ์ ์ํ ๊ฒ์ ๋๋ค.
์๋ฌธ ๋ฒ์ ์ฌ๊ธฐ : https://dev.to/etienne_lescot_728112921e/stop-clicking-start-coding-how-to-supercharge-n8n-with-vs-code-and-ai-2oai
์ฐ๋ฆฌ๋ ๋ชจ๋ ์ด๋ฐ ์ํฉ์ ๊ฒฝํํด ๋ดค์ต๋๋ค: n8n์ ์ ๋ง ํ๋ฅญํฉ๋๋ค. ํ์ง๋ง ๋๋๋ก ๋ง์ฐ์ค๋ก ๋ณต์กํ ๋ก์ง์ ๊ตฌ์ถํ๋ ๋ฐ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ์๊ฐํ์ฃ : โ์ฝ๋์ฒ๋ผ ์ํฌํ๋ก๋ฅผ ๋ณต์ฌโ๋ถ์ฌ๋ฃ๊ธฐ ํ ์ ์๋ค๋ฉด ์ข๊ฒ ์ดโฆโ.
์ข์ ์์: ์ด์ ๊ฐ๋ฅํฉ๋๋ค. n8n์ ์ฝ๋ ํธ์ง๊ธฐ(VS Code)์ ์ฐ๊ฒฐํ๋ฉด ๊ทธ๋ํฝ ์ธํฐํ์ด์ค์ ์ฝ๋งค์ด์ง ์๊ณ ์ํผ ํ์๋ฅผ ์ป๊ฒ ๋ฉ๋๋ค:
- VS Code(๋๋ AI ํธ์ง๊ธฐ Cursor)๋ฅผ ์ฝ๋๋ค.
- AI์๊ฒ ์์ฒญํฉ๋๋ค: โ๋งค์ผ ์์นจ Google News๋ฅผ ์คํฌ๋ฉํ๊ณ Slack์ผ๋ก ๋ณด๋ด๋ ์ํฌํ๋ก๋ฅผ ๋ง๋ค์ด์คโ.
- AI๊ฐ JSON ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
- ์ํฌํ๋ก๊ฐ ์ฆ์ n8n ์ธํฐํ์ด์ค์ ๋ํ๋ ์คํ ์ค๋น๊ฐ ๋ฉ๋๋ค.
DevOps ์ ๋ฌธ๊ฐ์ผ ํ์ ์์ต๋๋ค; 2๋ถ ์์ ์ด โ๋ง๋ฒ์ ๋ค๋ฆฌโ๋ฅผ ๊ตฌ์ถํด ๋ณด๊ฒ ์ต๋๋ค. ์คํ์์ค ๋๊ตฌ๊ฐ ๋ฐ๋ก ์ค๋น๋์ด ์์ต๋๋ค.
๐ ์ด๋ป๊ฒ ์๋ํ๋์?
ํต์ฌ ์์ด๋์ด๋ ๊ฐ๋จํฉ๋๋ค: ์ํฌํ๋ก๋ฅผ ๊ทธ๋ํฝ ๋ฐ์ค๊ฐ ์๋๋ผ ์์ค ํ์ผ์ฒ๋ผ ๋ค๋ฃจ๋ ๊ฒ์
๋๋ค. ์ฐ๋ฆฌ๋ n8n-as-code ๋ผ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด ์ด ๊ณผ์ ์ ํฌ๋ช
ํ๊ฒ ์ค๊ณํฉ๋๋ค:
- ๐ ์ฌ๋ฌ๋ถ(๋๋ AI)์ด ์ปดํจํฐ์ ์์ฑํ๋ ๋ด์ฉ์ ์ค์๊ฐ์ผ๋ก ๊ฐ์ํฉ๋๋ค.
- ๐ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฆ์ n8n์ ์ ์กํฉ๋๋ค.
- ๐ก ๋ถํ์ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ์ ๋ฆฌํด ๋ฒ๊ทธ๋ฅผ ๋ฐฉ์งํ๊ณ ๊น๋ํ Git ํ์คํ ๋ฆฌ๋ฅผ ์ ์งํฉ๋๋ค.
๋ ์ ๋: ์ผ์ชฝ์ ์ฝ๋, ์ค๋ฅธ์ชฝ์ n8n ์คํ ํ๋ฉด์ธ ์๋ก์ด ์์ ํ๊ฒฝ.
โก๏ธ ๋น ๋ฅธ ์ค์น (2๋ถ)
Node.js๊ฐ ์ค์น๋์ด ์๊ณ n8n(๋ก์ปฌ ํน์ ํด๋ผ์ฐ๋)์ด ์คํ ์ค์ด์ด์ผ ํฉ๋๋ค.
๋จ๊ณโฏ1: ๋ ํฌ์งํ ๋ฆฌ ๋ณต์
git clone https://github.com/EtienneLescot/n8n-as-code.git
cd n8n-as-code
npm install
๋จ๊ณโฏ2: ์ฐ๊ฒฐ ์ค์
๋ ํฌ์งํ ๋ฆฌ ๋ฃจํธ์ .env ํ์ผ์ ๋ง๋ค๊ณ n8n ์์น๋ฅผ ์ง์ ํฉ๋๋ค.
# .env
N8N_HOST=http://localhost:5678
# n8n > Settings > Developer API ์์ ํค๋ฅผ ๊ฐ์ ธ์ค์ธ์
N8N_API_KEY=votre_api_key_ici
๋จ๊ณโฏ3: ์คํ
node sync.js
์คํฌ๋ฆฝํธ๊ฐ ์๋์ผ๋ก ๊ธฐ์กด ์ํฌํ๋ก๋ฅผ ./synced_workflows ํด๋์ ๋ค์ด๋ก๋ํฉ๋๋ค. ์ด์ ์ค๋น ์๋ฃ!
๐ ๋ฐ๋ชจ: AI์๊ฒ ์์ ์ ๋งก๊ธฐ๊ธฐ
-
node sync.js๊ฐ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค. -
./synced_workflowsํด๋์ ๋น ํ์ผMon_Bot_IA.json์ ์์ฑํฉ๋๋ค. -
VS Code์์ ํด๋น ํ์ผ์ ์ฝ๋๋ค.
-
AI ์ฑํ ํจ๋(Copilot, Cursor ๋ฑ)์ ๋ค์ ํ๋กฌํํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค:
โ๋งค์ผ 9์์ ์คํ๋๋ n8n ์ํฌํ๋ก์ JSON์ ์์ฑํด ์ฃผ์ธ์. ๊ณต๊ฐ API์์ ๋๋ด์ ํ๋ ๋ฐ์์ Slack ์ฑ๋์ ์ ์กํ๋๋ก ํด ์ฃผ์ธ์.โ
-
AI๊ฐ JSON ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
-
์ ์ฅ(
CTRLโฏ+โฏS)ํฉ๋๋ค.
ํฐ๋ฏธ๋์ โ
Succรจsโฏ!๊ฐ ํ์๋ฉ๋๋ค. n8n ์ธ์คํด์ค๋ก ์ด๋ํ๋ฉด ์ํฌํ๋ก๊ฐ ๋ํ๋ ์ฐ๊ฒฐ๋ ์ํ์ด๋ฉฐ ๋ฐ๋ก ํ์ฑํํ ์ ์์ต๋๋ค! ๐
๐ก ์ ์ด ๋ฐฉ๋ฒ์ ์ข์ํ๊ฒ ๋ ๊น์?
- ์๋ ๊ธ์์น: AI๊ฐ JSON(โ๋ณด์ผ๋ฌํ๋ ์ดํธโ)์ ์์ฑํ๋ ์๋๊ฐ 10๊ฐ์ ๋ ธ๋๋ฅผ ๋๋๊ทธโ๋๋กญํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋น ๋ฆ ๋๋ค.
- GitOps: ์ํฌํ๋ก๊ฐ ์ด์ ๊น๋ํ ํ์ผ ํํ์ด๋ฏ๋ก GitHub์ ์ปค๋ฐํ๊ณ ํ๊ณผ ํ์ ํ ์ ์์ต๋๋ค.
- ๊ฒฌ๊ณ ํจ: ์๋ฐฉํฅ ๋๊ธฐํ๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํด ๋ฒ์ ์ด ๊นจ์ง๋ ์ผ์ ๋ฐฉ์งํฉ๋๋ค.
๋ชจ๋ ์ฝ๋๋ ์คํ์์ค๋ก ์ฌ๊ธฐ์์ ํ์ธํ ์ ์์ต๋๋ค:
์ด์ ์ฌ๋ฌ๋ถ ์ฐจ๋ก์ ๋๋ค! ๐