์นํํฌ ํ ์คํธ ์ ๋ณด
์นํํฌ ๋ฐฐ๋ฌ์ ํ ์คํธํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์นํํฌ ๋ฐฐ๋ฌ์ ํธ๋ฆฌ๊ฑฐํ ๊ฒ์ผ๋ก ์์๋๋ ์ด๋ฒคํธ์ ๋ํ ์๋ต์ผ๋ก GitHub์ด(๊ฐ) ์นํํฌ ๋ฐฐ๋ฌ์ ๋ณด๋ด๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์ปดํจํฐ ๋๋ Codespace๋ฅผ ๋ก์ปฌ ์๋ฒ๋ก ์ฌ์ฉํ๊ณ ์นํํฌ ๋ฐฐ๋ฌ์ ๋ก์ปฌ ์๋ฒ๋ก ์ ๋ฌํ์ฌ ์นํํฌ ๋ฐฐ๋ฌ์ ์ฒ๋ฆฌํ๋ ์ฝ๋๋ฅผ ํ ์คํธํ ์๋ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ๋ก๋์ ์๋ฒ์ ์ฝ๋๋ฅผ ๋ฐฐํฌํ์ง ์๊ณ ๋ ์ฝ๋๋ฅผ ๊ฐ๋ฐํ๊ณ ๋๋ฒ๊ทธํ ์ ์์ต๋๋ค.
์นํํฌ ๋ฐฐ๋ฌ ํ ์คํธ
์นํํฌ ์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๊ณ GitHub์ด(๊ฐ) ์นํํฌ ๋ฐฐ๋ฌ์ ์ ์กํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
-
์นํํฌ๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด
issues
์ด๋ฒคํธ์ ๊ฐ์ ๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์นํํฌ๋ฅผ ํ ์คํธํ๋ ๊ฒฝ์ฐ ์นํํฌ๊ฐ ๊ตฌ์ฑ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ด์๋ฅผ ์ฝ๋๋ค.์ด์ ์นํํฌ ๋ฐฐ๋ฌ์ ๋ค์ ๋ฐฐ๋ฌํ ์๋ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์นํํฌ ๋ค์ ์ ๊ณต์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์กฐ์ง ๋๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์นํํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ REST API๋ฅผ ์ฌ์ฉํ์ฌ ์นํํฌ์ ๋ํ
ping
์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ์๋ ์์ต๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ ์นํํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์นํํฌ๊ฐpush
์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํ๋ ๊ฒฝ์ฐ REST API๋ฅผ ์ฌ์ฉํ์ฌ ์นํํฌ์ ๋ํ ํ ์คํธpush
์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฆฌํฌ์งํ ๋ฆฌ ์นํํฌ์ ๋ํ REST API ์๋ํฌ์ธํธ ๋ฐ ์กฐ์ง ์นํํฌ์ ๋ํ REST API ์๋ํฌ์ธํธ์(๋ฅผ) ์ฐธ์กฐํ์ธ์. -
์นํํฌ ๋ฐฐ๋ฌ์ด ์ ์ก๋์๋์ง GitHub์ ํ์ธํฉ๋๋ค. ๊ฐ ์นํํฌ ์ ํ์ ๋ํด ์ด ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์นํํฌ ์ ๊ณต ๋ณด๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์นํํฌ ๋ฐฐ๋ฌ์ด ์ ์ก๋์ง ์์๊ฑฐ๋ ์นํํฌ ๋ฐฐ๋ฌ์ด ์ ์ก๋์์ง๋ง GitHub์์ ๋ฐฐ๋ฌ์ ์คํจํ๋ค๊ณ ์๋ฆฌ๋ ๊ฒฝ์ฐ ๋ฌธ์ ํด๊ฒฐ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ฌ ๋ฌธ์ ๋ฅผ ์ง๋จํ๋ ๋ฐ ๋์์ ๋ฐ์ผ์ธ์. ์์ธํ ๋ด์ฉ์ ์นํํฌ ๋ฌธ์ ํด๊ฒฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ก์ปฌ์์ ์นํํฌ ์ฝ๋ ํ ์คํธ
์ปดํจํฐ ๋๋ codespace์์ ๋ก์ปฌ๋ก ์นํํฌ ์ฝ๋๋ฅผ ํ ์คํธํ๋ ค๋ฉด ์นํํฌ ํ๋ก์ URL์ ์ฌ์ฉํ์ฌ GitHub์์ ์ปดํจํฐ ๋๋ Codespace๋ก ์นํํฌ๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค. ์ปดํจํฐ ๋๋ codespace๋ฅผ ๋ก์ปฌ ์๋ฒ๋ก ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์ ๋ฌ๋ ์นํํฌ๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
๋ค์ ์น์ ์์๋ smee.io๋ฅผ ์ฌ์ฉํ์ฌ ์นํํฌ ํ๋ก์ URL์ ์ ๊ณตํ๊ณ ์นํํฌ๋ฅผ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ์ค๋๋ค.
์ฝ๋ ๋ฐ ํ ์คํธ ๋จ๊ณ์ ๊ตฌ์ฒด์ ์ธ ์๋ ์นํํฌ ๋ฐฐ๋ฌ ์ฒ๋ฆฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์นํํฌ ํ๋ก์ URL ๊ฐ์ ธ์ค๊ธฐ
- ๋ธ๋ผ์ฐ์ ์์ https://smee.io/(์ผ)๋ก ์ด๋ํฉ๋๋ค.
- ์ ์ฑ๋ ์์์ ํด๋ฆญํฉ๋๋ค.
- "์นํํฌ ํ๋ก์ URL" ์๋์ ์ ์ฒด URL์ ๋ณต์ฌํฉ๋๋ค. ๋ค์ ์ค์ ๋จ๊ณ์์ ์ด URL์ ์ฌ์ฉํฉ๋๋ค.
์นํํฌ ํ๋ก์ URL์ ์ฌ์ฉํ๋๋ก ์นํํฌ ๊ตฌ์ฑ
์นํํฌ ํ๋ก์ URL์ ์ฌ์ฉํ๋๋ก ์นํํฌ ๊ตฌ์ฑ ์์ธํ ๋ด์ฉ์ ์นํํฌ ๋ง๋ค๊ธฐ ๋ฐ ์นํํฌ ํธ์งํ๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ด์ GitHub๊ฐ ์นํํฌ ๋ฐฐ๋ฌ์ ํด๋น URL๋ก ๋ณด๋ ๋๋ค.
๋ก์ปฌ ์๋ฒ ์์
์ปดํจํฐ ๋๋ codespace์์ ๋ก์ปฌ ์๋ฒ๋ฅผ ์์ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์นํํฌ๋ฅผ ์์ ํ๋ ์ฝ๋๊ฐ ์์ฑ๋ ๋ฐฉ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์์๋ ์นํํฌ ๋ฐฐ๋ฌ ์ฒ๋ฆฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ฝ๋๋ฅผ ๋ก์ปฌ์์ ์คํํ ์ ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฝ๋๊ฐ ํ๋ก๋์ ์์ ์๋ฒ์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ก์ปฌ ์๋ฒ์์๋ ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
์ฝ๋์ ๋จ๊ณ๊ฐ ์์๋๋ก ์คํ๋์๋์ง ํ์ธํ ์ ์๋๋ก ๋ก๊ทธ ๋ฌธ์ ์ถ๊ฐํ๋ ๊ฒ๋ ์ ์ฉํ ์ ์์ต๋๋ค.
์นํํฌ๋ฅผ ํ ์คํธํ๋ ๋์ ๋ก์ปฌ ์๋ฒ๋ฅผ ๊ณ์ ์คํํด ๋ก๋๋ค.
์นํํฌ ์ ๋ฌ
-
smee-client๊ฐ ์์ง ์ค์น๋์ด ์์ง ์์ ๊ฒฝ์ฐ ํฐ๋ฏธ๋์์ ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
Shell npm install --global smee-client
npm install --global smee-client
-
smee.io์์ ์ ๋ฌํ ์นํํฌ๋ฅผ ์์ ํ๋ ค๋ฉด ํฐ๋ฏธ๋์์ ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
WEBHOOK_PROXY_URL
์ ์์ ๋ณต์ฌํ ์นํํฌ ํ๋ก์ URL๋ก ๋ฐ๊ฟ๋๋ค.PATH
๋ฅผ ์๋ฒ์์ ์ฒ๋ฆฌํ ๊ฒฝ๋ก๋ก ๋ฐ๊ฟ๋๋ค.PORT
๋ฅผ ๋ก์ปฌ ์๋ฒ๊ฐ ์์ ๋๊ธฐ ์ค์ธ ํฌํธ๋ก ๋ฐ๊ฟ๋๋ค.Shell smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
๋ค์๊ณผ ๊ฐ์ ์ถ๋ ฅ์ด ํ์๋๊ณ
WEBHOOK_PROXY_URL
,PORT
,PATH
์๋ฆฌ ํ์์๊ฐ ์ง์ ํ ๊ฐ์ผ๋ก ๋์ฒด๋ฉ๋๋ค.Shell Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH Connected WEBHOOK_PROXY_URL
Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:PORT/PATH Connected WEBHOOK_PROXY_URL
์ด์ ์นํํฌ ํ๋ก์ URL(smee.io URL)์ด GitHub์์ ์นํํฌ ๋ฐฐ๋ฌ์ ๋ฐ์ผ๋ฉด smee๊ฐ ์นํํฌ ๋ฐฐ๋ฌ์ ๋ก์ปฌ ์๋ฒ๋ก ์ ๋ฌํฉ๋๋ค.
-
์นํํฌ๋ฅผ ํ ์คํธํ๋ ๋์ ๊ณ์ ์คํํด ๋ก๋๋ค. ์นํํฌ ์ ๋ฌ์ ์ค์งํ๋ ค๋ฉด Ctrl+C๋ฅผ ๋๋ฆ ๋๋ค.
์ด ์์ ์์ ๋ก์ปฌ ์๋ฒ์ smee ์ ๋ฌ์ด ๋ชจ๋ ์คํ ์ค์ด์ด์ผ ํฉ๋๋ค.
์นํํฌ ๋ฐฐ๋ฌ ํธ๋ฆฌ๊ฑฐ
์นํํฌ๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด issues
์ด๋ฒคํธ์ ๊ฐ์
๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์นํํฌ๋ฅผ ํ
์คํธํ๋ ๊ฒฝ์ฐ ์นํํฌ๊ฐ ๊ตฌ์ฑ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ด์๋ฅผ ์ฝ๋๋ค.
์ด์ ์นํํฌ ๋ฐฐ๋ฌ์ ๋ค์ ๋ฐฐ๋ฌํ ์๋ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์นํํฌ ๋ค์ ์ ๊ณต์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ฐฐ๋ฌ ํ์ธ
GitHub์์ ์นํํฌ ๋ฐฐ๋ฌ์ ๋ณด๋ด๊ณ , smee๊ฐ ๋ฐฐ๋ฌ์ ๋ฐ๊ณ ์ ๋ฌํ์ผ๋ฉฐ, ๋ก์ปฌ ์๋ฒ๊ฐ ์นํํฌ ๋ฐฐ๋ฌ์ ์ฒ๋ฆฌํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
GitHub์์ ๋ฐฐ๋ฌ์ ์ ์กํ๋์ง ํ์ธ
์นํํฌ ๋ฐฐ๋ฌ์ด ์ ์ก๋์๋์ง GitHub์ ํ์ธํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์นํํฌ ์ ๊ณต ๋ณด๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์นํํฌ ๋ฐฐ๋ฌ์ด ์ ์ก๋์ง ์์๊ฑฐ๋ ์นํํฌ ๋ฐฐ๋ฌ์ด ์ ์ก๋์์ง๋ง GitHub์์ ๋ฐฐ๋ฌ์ ์คํจํ๋ค๊ณ ์๋ฆฌ๋ ๊ฒฝ์ฐ ๋ฌธ์ ํด๊ฒฐ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ฌ ๋ฌธ์ ๋ฅผ ์ง๋จํ๋ ๋ฐ ๋์์ ๋ฐ์ผ์ธ์. ์์ธํ ๋ด์ฉ์ ์นํํฌ ๋ฌธ์ ํด๊ฒฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
smee๊ฐ ์นํํฌ ๋ฐฐ๋ฌ์ ๋ฐ์๋์ง ํ์ธ
smee.io์์ ์นํํฌ ํ๋ก์ URL๋ก ์ด๋ํฉ๋๋ค. ํธ๋ฆฌ๊ฑฐํ๊ฑฐ๋ ๋ค์ ๋ฐฐ๋ฌํ ์ด๋ฒคํธ์ ํด๋นํ๋ ์ด๋ฒคํธ๊ฐ ํ์๋์ด์ผ ํฉ๋๋ค. ์ด๋ GitHub์์ ์ง์ ํ ํ์ด๋ก๋ URL๋ก ์นํํฌ ๋ฐฐ๋ฌ์ ์ฑ๊ณต์ ์ผ๋ก ๋ณด๋์์ ๋ํ๋ ๋๋ค.
smee.io์ ์นํํฌ ๋ฐฐ๋ฌ์ด ํ์๋์ง ์์ผ๋ฉด ์นํํฌ๊ฐ ์นํํฌ ํ๋ก์ URL(smee.io URL)์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํฉ๋๋ค.
smee๊ฐ ์นํํฌ ๋ฐฐ๋ฌ์ ์ ๋ฌํ๋์ง ํ์ธ
smee --url WEBHOOK_PROXY_URL --path /PATH --port PORT
๋ฅผ ์คํํ ํฐ๋ฏธ๋ ์ฐฝ์ POST http://127.0.0.1:3000/webhook - 202
์ ๊ฐ์ ๋ด์ฉ์ด ํ์๋์ด์ผ ํฉ๋๋ค. ์ด๋ smee๊ฐ ์นํํฌ๋ฅผ ๋ก์ปฌ ์๋ฒ๋ก ์ฑ๊ณต์ ์ผ๋ก ์ ๋ฌํ์์ ๋ํ๋
๋๋ค.
์ด ๋ด์ฉ์ด ํ์๋์ง ์์ผ๋ฉด smee ํด๋ผ์ด์ธํธ ๋ฐ ๋ก์ปฌ ์๋ฒ๊ฐ ๋ชจ๋ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค. ๋ ๊ฐ์ ๋ณ๋ ํฐ๋ฏธ๋ ์ฐฝ์์ ์ด๋ฌํ ํ๋ก์ธ์ค๊ฐ ์คํ ์ค์ด์ด์ผ ํฉ๋๋ค.
๋ํ smee ํด๋ผ์ด์ธํธ ๋ฐ ๋ก์ปฌ ์๋ฒ๋ฅผ ์คํ ์ค์ธ ํฐ๋ฏธ๋ ์ฐฝ์์ ์ค๋ฅ๊ฐ ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ํน์ ์ค๋ฅ๋ ์นํํฌ๋ฅผ ์์ ํ๋ ์ฝ๋๊ฐ ์์ฑ๋ ๋ฐฉ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์์๋ ์นํํฌ ๋ฐฐ๋ฌ ์ฒ๋ฆฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ก์ปฌ ์๋ฒ๊ฐ ์นํํฌ ๋ฐฐ๋ฌ์ ์ฒ๋ฆฌํ๋์ง ํ์ธ
์ด ์์ ์์ GitHub์์ ์นํํฌ ๋ฐฐ๋ฌ์ ๋ณด๋๊ณ ํด๋น smee๊ฐ ๋ก์ปฌ ์๋ฒ๋ก ๋ฐฐ๋ฌ์ ์ ๋ฌํ์์ ํ์ธํ์ต๋๋ค. ์ด์ ์ฝ๋๊ฐ ์์๋๋ก ์นํํฌ ๋ฐฐ๋ฌ์ ์ฒ๋ฆฌํ๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์นํํฌ๋ฅผ ์์ ํ๋ ์ฝ๋๊ฐ ์์ฑ๋ ๋ฐฉ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์์๋ ์นํํฌ ๋ฐฐ๋ฌ ์ฒ๋ฆฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.