ํ์ ์กฐ๊ฑด
์ฐธ๊ณ ํญ๋ชฉ
GitHub Free ํ๋์ ๊ฐ์ง ์ฌ์ฉ์๋ ํผ๋ธ๋ฆญ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ํ๊ฒฝ๋ง ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํผ๋ธ๋ฆญ์์ ํ๋ผ์ด๋น์ผ๋ก ๋ณํํ๋ ๊ฒฝ์ฐ ๊ตฌ์ฑ๋ ๋ณดํธ ๊ท์น ๋๋ ํ๊ฒฝ ๋น๋ฐ์ ๋ฌด์๋๋ฉฐ ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ค์ ํผ๋ธ๋ฆญ์ผ๋ก ๋ณํํ๋ ๊ฒฝ์ฐ ์ด์ ์ ๊ตฌ์ฑ๋ ๋ณดํธ ๊ท์น ๋ฐ ํ๊ฒฝ ๋น๋ฐ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
GitHub Team์ด ์๋ ์กฐ์ง๊ณผ GitHub Pro์ด(๊ฐ) ์๋ ์ฌ์ฉ์๋ ํ๋ผ์ด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ GitHub์ ํ๋์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- ํ๊ฒฝ์ ๋ํ ์ผ๋ฐ์ ์ธ ๋ด์ฉ์ GitHub Actions๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- ์ฌ์ฉ ๊ฐ๋ฅํ ๊ท์น์ ๋ํ ์ ๋ณด๋ ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
ํ๊ฒฝ ๋ง๋ค๊ธฐ
๊ฐ์ธ ๊ณ์ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ค๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ ์์ ์์ฌ์ผ ํฉ๋๋ค. ์กฐ์ง ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ค๋ฉด admin ์ก์ธ์ค ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
- ํ๋ผ์ด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ๊ฒฝ ๋ง๋ค๊ธฐ๋ GitHub Team์ด(๊ฐ) ์๋ ์กฐ์ง ๋ฐ GitHub Pro์ด(๊ฐ) ์๋ ์ฌ์ฉ์์๊ฒ ์ ๊ณต๋ฉ๋๋ค.
- ํ๊ฒฝ์ ๋ํ ์ผ๋ถ ๊ธฐ๋ฅ์ ํ๋ผ์ด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ๊ฐ์ฉ์ฑ์ด ์๊ฑฐ๋ ์ ํ๋ฉ๋๋ค. ์๋ ์ง์นจ์ ์ค๋ช ๋ ๊ธฐ๋ฅ์ ์ก์ธ์คํ ์ ์๋ ๊ฒฝ์ฐ ๊ด๋ จ ๋จ๊ณ์์ ์ฐ๊ฒฐ๋ ์ค๋ช ์์์ ๊ฐ์ฉ์ฑ ์ ๋ณด๋ฅผ ํ์ธํ์ธ์.
-
GitHub์์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ๋ณธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
-
๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ ์๋์์ Settings๋ฅผ ํด๋ฆญํฉ๋๋ค. "์ค์ " ํญ์ด ํ์๋์ง ์์ผ๋ฉด ๋๋กญ๋ค์ด ๋ฉ๋ด๋ฅผ ์ ํํ ๋ค์ ์ค์ ์ ํด๋ฆญํฉ๋๋ค.

-
์ผ์ชฝ ์ฌ์ด๋๋ฐ์์ ํ๊ฒฝ์ ํด๋ฆญํฉ๋๋ค.
-
์ ํ๊ฒฝ์ ํด๋ฆญํฉ๋๋ค.
-
ํ๊ฒฝ์ ์ด๋ฆ์ ์ ๋ ฅํ ๋ค์ ํ๊ฒฝ ๊ตฌ์ฑ์ ํด๋ฆญํฉ๋๋ค. ํ๊ฒฝ ์ด๋ฆ์ ๋/์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์ต๋๋ค. ํ๊ฒฝ ์ด๋ฆ์ 255์๋ฅผ ์ด๊ณผํ์ง ์์์ผ ํ๋ฉฐ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ด์์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ ์ด ํ๊ฒฝ์ ์ฌ์ฉํ๋ ์ํฌํ๋ก ์์ ์ ์น์ธํด์ผ ํ๋ ์ฌ์ฉ์ ๋๋ ํ์ ์ง์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- ํ์ ๊ฒํ ์๋ฅผ ์ ํํฉ๋๋ค.
- ์ต๋ 6๋ช ๋๋ ํ์ ์ ๋ ฅํฉ๋๋ค. ์์ ์ ๊ณ์ํ๋ ค๋ฉด ํ์ ๊ฒํ ์ ์ค ํ ๋ช ๋ง ์์ ์ ์น์ธํ๋ฉด ๋ฉ๋๋ค.
- ํ์์ ๋ฐ๋ผ ์ฌ์ฉ์๊ฐ ํธ๋ฆฌ๊ฑฐํ ์ํฌํ๋ก ์คํ์ ์น์ธํ์ง ๋ชปํ๋๋ก ํ๋ ค๋ฉด ์์ฒด ๊ฒํ ๋ฐฉ์ง๋ฅผ ์ ํํฉ๋๋ค.
- ๋ณดํธ ๊ท์น ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ ์ด ํ๊ฒฝ์ ์ฌ์ฉํ๋ ์ํฌํ๋ก ์์ ์ ๊ณ์ ์งํํ๋๋ก ํ์ฉํ๊ธฐ ์ ์ ๋๊ธฐํ ์๊ฐ์ ์ง์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- ๋๊ธฐ ํ์ด๋จธ๋ฅผ ์ ํํฉ๋๋ค.
- ๋๊ธฐํ ์๊ฐ(๋ถ)์ ์ ๋ ฅํฉ๋๋ค.
- ๋ณดํธ ๊ท์น ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ ๊ตฌ์ฑ๋ ๋ณดํธ ๊ท์น์ ๋ฐ์ดํจ์คํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- ๊ด๋ฆฌ์๊ฐ ๊ตฌ์ฑ๋ ๋ณดํธ ๊ท์น์ ๋ฌด์ํ๋๋ก ํ์ฉ์ ์ ํ ์ทจ์ํฉ๋๋ค.
- ๋ณดํธ ๊ท์น ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ GitHub Apps์(๋ฅผ) ์ฌ์ฉํ์ฌ ๋ง๋ ์ฌ์ฉ์ ์ง์ ๋ฐฐํฌ ๋ณดํธ ๊ท์น์ ์ฌ์ฉํ๋๋ก ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- ์ฌ์ฉํ๋๋ก ์ค์ ํ ์ฌ์ฉ์ ์ง์ ๋ณดํธ ๊ท์น์ ์ ํํฉ๋๋ค.
- ๋ณดํธ ๊ท์น ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ ์ด ํ๊ฒฝ์ ๋ฐฐํฌํ ์ ์๋ ๋ถ๊ธฐ ๋ฐ ํ๊ทธ๋ฅผ ์ง์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
-
๋ฐฐํฌ ๋ถ๊ธฐ ๋๋กญ๋ค์ด์์ ์ํ๋ ์ต์ ์ ์ ํํฉ๋๋ค.
-
Selected branches and tags๋ฅผ ์ ํํ์ฌ ์ ๊ท์น์ ์ถ๊ฐํ๋ ค๋ฉด Add deployment branch or tag rule๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
์ ์ฉํ ๊ท์น์ ๋ฐ๋ผ "Ref type" ๋๋กญ๋ค์ด ๋ฉ๋ด์์ Branch ๋๋ Tag๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
ํ์ฉํ๋ ค๋ ๋ถ๊ธฐ ๋๋ ํ๊ทธ์ ์ด๋ฆ ํจํด์ ์ ๋ ฅํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
์ด๋ฆ ํจํด์ ๋ถ๊ธฐ๋ ํ๊ทธ์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
-
๊ท์น ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
-
ํ์์ ๋ฐ๋ผ ํ๊ฒฝ ๋น๋ฐ์ ์ถ๊ฐํฉ๋๋ค. ํด๋น ๋น๋ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ์ํฌํ๋ก ์์ ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ํ ์ด ํ๊ฒฝ์ ์ฌ์ฉํ๋ ์ํฌํ๋ก ์์ ์ ๊ตฌ์ฑ๋ ๊ท์น(์: ํ์ ๊ฒํ ์)์ด ํต๊ณผํ ํ์๋ง ํด๋น ๋น๋ฐ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- ํ๊ฒฝ ๋น๋ฐ์์ ๋น๋ฐ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ๋น๋ฐ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
- ๋น๋ฐ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
- ๋น๋ฐ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ ํ๊ฒฝ ๋ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ด๋ฌํ ๋ณ์๋ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ์ํฌํ๋ก ์์ ์์๋ง ์ฌ์ฉํ ์ ์์ผ๋ฉฐ
vars์ปจํ ์คํธ๋ฅผ ํตํด์๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.- ํ๊ฒฝ ๋ณ์์์** ๋ณ์ ์ถ๊ฐ**๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ๋ณ์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
- ๋ณ์ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
- ๋ณ์ ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
REST API๋ฅผ ํตํด ํ๊ฒฝ์ ๋ง๋ค๊ณ ๊ตฌ์ฑํ ์๋ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ Deployment Environments์ ๋ํ REST API ์๋ํฌ์ธํธ, GitHub Actions ๋น๋ฐ์ ๋ํ REST API ์๋ํฌ์ธํธ, GitHub Actions ๋ณ์์ ๋ํ REST API ์๋ํฌ์ธํธ, ๋ฐฐํฌ ๋ถ๊ธฐ ์ ์ฑ ์ ๋ํ REST API ์๋ํฌ์ธํธ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์กด์ฌํ์ง ์๋ ํ๊ฒฝ์ ์ฐธ์กฐํ๋ ์ํฌํ๋ก๋ฅผ ์คํํ๋ฉด ์ฐธ์กฐ๋ ์ด๋ฆ์ ๊ฐ์ง ํ๊ฒฝ์ด ์์ฑ๋ฉ๋๋ค. ์์์ ํ์ด์ง ๋น๋๋ฅผ ์คํํ์ฌ ํ๊ฒฝ์ ๋ง๋๋ ๊ฒฝ์ฐ(์: ๋ถ๊ธฐ ๋๋ ํด๋ ์๋ณธ์์) ์๋ณธ ๋ถ๊ธฐ๊ฐ ํ๊ฒฝ์ ๋ณดํธ ๊ท์น์ผ๋ก ์ถ๊ฐ๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ก ๋ง๋ ํ๊ฒฝ์๋ ๋ณดํธ ๊ท์น์ด๋ ๋น๋ฐ์ด ๊ตฌ์ฑ๋์ง ์์ต๋๋ค. ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ํฌํ๋ก๋ฅผ ํธ์งํ ์ ์๋ ์ฌ๋์ ๋๊ตฌ๋ ์ํฌํ๋ก ํ์ผ์ ํตํด ํ๊ฒฝ์ ๋ง๋ค ์ ์์ง๋ง ๋ฆฌํฌ์งํ ๋ฆฌ ๊ด๋ฆฌ์๋ง ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
ํ๊ฒฝ ์ญ์
๊ฐ์ธ ๊ณ์ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ค๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ ์์ ์์ฌ์ผ ํฉ๋๋ค. ์กฐ์ง ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ค๋ฉด admin ์ก์ธ์ค ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
ํ๊ฒฝ์ ์ญ์ ํ๋ฉด ํ๊ฒฝ๊ณผ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋น๋ฐ ๋ฐ ๋ณดํธ ๊ท์น์ด ์ญ์ ๋ฉ๋๋ค. ์ญ์ ๋ ํ๊ฒฝ์ ๋ณดํธ ๊ท์น์ผ๋ก ์ธํด ํ์ฌ ๋๊ธฐ ์ค์ธ ๋ชจ๋ ์์ ์ ์๋์ผ๋ก ์คํจํฉ๋๋ค.
-
GitHub์์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ธฐ๋ณธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
-
๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ ์๋์์ Settings๋ฅผ ํด๋ฆญํฉ๋๋ค. "์ค์ " ํญ์ด ํ์๋์ง ์์ผ๋ฉด ๋๋กญ๋ค์ด ๋ฉ๋ด๋ฅผ ์ ํํ ๋ค์ ์ค์ ์ ํด๋ฆญํฉ๋๋ค.

-
์ผ์ชฝ ์ฌ์ด๋๋ฐ์์ ํ๊ฒฝ์ ํด๋ฆญํฉ๋๋ค.
-
์ญ์ ํ๋ ค๋ ํ๊ฒฝ ์์ ์๋ ์(๋ฅผ) ํด๋ฆญํฉ๋๋ค.
-
์ดํดํ์ต๋๋ค. ์ด ํ๊ฒฝ์ ์ญ์ ํฉ๋๋ค๋ฅผ ํด๋ฆญํฉ๋๋ค.
REST API๋ฅผ ํตํด ํ๊ฒฝ์ ์ญ์ ํ ์๋ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ REST API ์๋ํฌ์ธํธ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
ํ๊ฒฝ๊ณผ ๋ฐฐํฌ ๊ฐ์ ๊ด๊ณ
ํ๊ฒฝ์ ์ฐธ์กฐํ๋ ์ํฌํ๋ก ์์
์ด ์คํ๋๋ฉด ํ๊ฒฝ ์ด๋ฆ์ผ๋ก ์ค์ ๋ environment ์์ฑ์ด ์๋ ๋ฐฐํฌ ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค. ์ํฌํ๋ก๊ฐ ์งํ๋จ์ ๋ฐ๋ผ ํ๊ฒฝ ์ด๋ฆ์ผ๋ก ์ค์ ๋ environment ์์ฑ, ํ๊ฒฝ์ URL๋ก ์ค์ ๋ environment_url ์์ฑ(์ํฌํ๋ก์ ์ง์ ๋ ๊ฒฝ์ฐ), ์์
์ ์ํ๋ก ์ค์ ๋ state ์์ฑ์ด ์๋ ๋ฐฐํฌ ์ํ ๊ฐ์ฒด๋ ๋ง๋ญ๋๋ค.
REST API ๋๋ GraphQL API๋ฅผ ํตํด ํด๋น ๊ฐ์ฒด์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ํด๋น ์นํํฌ ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํ ์๋ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ REST API ์๋ํฌ์ธํธ, ๊ฐ์ฒด(GraphQL API), ์นํํฌ ์ด๋ฒคํธ ๋ฐ ํ์ด๋ก๋์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ
GitHub Actions์(๋) ๋ฐฐํฌ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ GitHub Actions๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.