[CI/CD] ์ค์๊ฐ ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ ํธ - GitHub Actions๋ฅผ ํตํ CI/CD ๊ตฌ์ถํ๊ธฐ - (1)
๐ ๋ชฉ์ฐจ
๊ฐ์ธ์ ์ผ๋ก SpringBoot๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ค์๊ฐ ์ฑํ ์๋ฒ๋ฅผ ๊ตฌํํด๋ณด๋ ค๊ณ ํ๋ค.
์ด์ปค๋จธ์ค ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์๊ฐ ์ ์ง์ ๊ตฌํํด๋ณด์ง ๋ชปํ๋ ๋ถ๋ถ์ ์์ฃผ๋ก ์งํํ ์์ ์ด๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ CI/CD๊ฐ ๋ฌด์์ธ์ง์ ๋ํด ์์๋ณด๋๋ก ํ์.
๐ CI/CD๋?
CI/CD๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ฌ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ๋ฐฐํฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ Continuous Integration(์ง์์ ํตํฉ)๊ณผ Continuous Delivery/Deployment(์ง์์ ์ ๋ฌ/๋ฐฐํฌ)์ ์ฝ์์ด๋ค. ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์์ฑํ๋ ์๊ฐ๋ถํฐ ์ค์ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๊ฐ๊น์ง์ ๋ชจ๋ ๊ณผ์ ์ ์๋ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
โ๏ธ CI(์ง์์ ํตํฉ)
๊ฐ๋ฐ์๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์์ฃผ ๋ณํฉํ๊ณ , ์๋์ผ๋ก ๋น๋์ ํ ์คํธ๋ฅผ ์คํํด ์ฝ๋ ์ถฉ๋๊ณผ ์ค๋ฅ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๋ค.
โ๏ธ CD(์ง์์ ์ ๋ฌ/๋ฐฐํฌ)
ํ ์คํธ๋ฅผ ํต๊ณผํ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ์ํ๋ก ๋ง๋ค๊ฑฐ๋ ์ค์ ๋ฐฐํฌ๊น์ง ์งํํ๋ค.
- ์ง์์ ์ ๋ฌ(Continuous Delivery): ์ฝ๋๋ฅผ ํญ์ ๋ฐฐํฌ ๊ฐ๋ฅํ ์ํ๋ก ์ ์งํ๋ค. ๋ฐฐํฌ ์ ์ ์ต์ข ์น์ธ์ด ํ์ํ๋ค.
- ์ง์์ ๋ฐฐํฌ(Continuous Deployment): ์น์ธ ์์ด ์๋์ผ๋ก ํ๋ก๋์ ํ๊ฒฝ์ ๋ฐฐํฌํ๋ค. ํ ์คํธ๊ฐ ํต๊ณผํ๋ฉด ๋ฐ๋ก ๋ฐฐํฌํ๋ค.
CI/CD๋ ์ฝ๋๋ฅผ ์์ -> ํ ์คํธ -> ๋ฐฐํฌํ๋ ๋ชจ๋ ๊ณผ์ ์ ์๋ํํด ์๊ฐ์ ์ ์ฝํ๊ณ ํ์ง์ ๋ณด์ฅํ๋ค.
๐ก๊ทธ๋ ๋ค๋ฉด CI/CD๋ ํ์์ผ๊น?
๊ผญ ํด์ผ ํ๋ ๊ฒ์ ์๋๋ค.
ํ๋ก์ ํธ ๊ท๋ชจ์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ผ๋ ํ๋ก์ ํธ์ ๋ณต์ก์ฑ๊ณผ ๋ชฉํ์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก ๋์ ํ๋ฉด ๋๋ค.
ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ง๊ณ , ๋ณ๊ฒฝ ์ฃผ๊ธฐ๊ฐ ๋นจ๋ผ์ง๋ฉฐ ํ์ง๊ณผ ์์ ์ฑ์ด ์ค์ํ ๊ฒฝ์ฐ๋ผ๋ฉด ํ์์ด์ง๋ง,
๊ฐ๋จํ ํ๋ก์ ํธ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋๋ฌธ ๊ฒฝ์ฐ, ์์ฐ๊ณผ ์๊ฐ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ์๋ ๋์ ํ์ง ์๊ฑฐ๋ ๋์ค์ ๋์ ํ ์๋ ์๋ค.
์๋์์ CI/CD๊ฐ ํ์ํ ํ๊ฒฝ์ ๋ํด ์์๋ณด์.
๐ CI/CD๊ฐ ํ์ํ ํ๊ฒฝ
- CI (Continuous Integration)๊ฐ ํ์ํ ํ๊ฒฝ
- ํ ํ์
์ด ํ๋ฐํ ํ๊ฒฝ
- ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๋์์ ๊ฐ์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์์ ํ๋ ๊ฒฝ์ฐ, ํตํฉ ๊ณผ์ ์์ ์ถฉ๋์ด ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. CI๋ ์๋์ผ๋ก ๋ณ๊ฒฝ ์ฌํญ์ ๋ณํฉํ๊ณ ํ ์คํธํ์ฌ ์ด๋ฌํ ์ถฉ๋์ ์ ์ํ ํด๊ฒฐํ๋ค.
- ์์ฃผ ๋ณ๊ฒฝ๋๋ ์ฝ๋๋ฒ ์ด์ค
- ๋น๋ฒํ ์ฝ๋ ์ปค๋ฐ๊ณผ ์ ๋ฐ์ดํธ๊ฐ ์ด๋ฃจ์ด์ง๋ ํ๊ฒฝ์์๋ CI๋ฅผ ํตํด ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฆ์ ๋น๋ ๋ฐ ํ ์คํธ๋๋ฏ๋ก, ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๊ณ ๋์ํ ์ ์๋ค.
- ์๋ํ๋ ํ
์คํธ๊ฐ ํ์ํ ๊ฒฝ์ฐ
- ์ฝ๋ ํ์ง์ ๋ณด์ฅํ๊ธฐ ์ํด ์ ๊ธฐ์ ์ผ๋ก ๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ๋ฅผ ์คํํด์ผ ํ๋ ํ๋ก์ ํธ์์ CI๋ ํ ์คํธ ๊ณผ์ ์ ์๋ํํด ํจ์จ์ฑ์ ๋์ธ๋ค.
- ๊ฐ๋ฐ ์ฃผ๊ธฐ๊ฐ ์งง์ ์ ์์ผ ํ๊ฒฝ
- ์งง์ ์ฃผ๊ธฐ๋ก ๊ฐ๋ฐ, ํตํฉ, ๋ฐฐํฌ๋ฅผ ๋ฐ๋ณตํ๋ ์ ์์ผ ๋ฐฉ์์์๋ ์ง์์ ์ธ ํตํฉ์ด ํ์์ ์ด๋ค.
- ํ ํ์
์ด ํ๋ฐํ ํ๊ฒฝ
* CI๋ ์ฝ๋ ๋ณ๊ฒฝ์ด ๋น๋ฒํ๊ณ ํ ๊ท๋ชจ๊ฐ ํฐ ํ๊ฒฝ์์๋ ํ์์ ์ด๋ค.
- CD (Continuous Delivery/Deployment)๊ฐ ํ์ํ ํ๊ฒฝ
- ๋น ๋ฅด๊ณ ์์ ์ ์ธ ๋ฐฐํฌ๊ฐ ํ์ํ ํ๊ฒฝ
- ์ ํ ์ ๋ฐ์ดํธ๊ฐ ์์ฃผ ํ์ํ๊ณ , ์ด๋ฅผ ์ ์ํ๊ฒ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํด์ผ ํ๋ ํ๊ฒฝ์์๋ CD๊ฐ ์ ํฉํ๋ค.
- ๋ค์ํ ๋ฐฐํฌ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ์คํ ์ด์ง, ํ ์คํธ, ํ๋ก๋์ ๋ฑ ์ฌ๋ฌ ํ๊ฒฝ์ ๋ฐฐํฌํด์ผ ํ๋ ๊ฒฝ์ฐ, CD๋ ๋ชจ๋ ํ๊ฒฝ์ ๋ํด ์ผ๊ด๋ ๋ฐฐํฌ๋ฅผ ๋ณด์ฅํ๋ค.
- ์ด์ ์ค๋จ์ ์ต์ํํด์ผ ํ๋ ํ๊ฒฝ
- ์ฌ์ฉ์ ํธ๋ํฝ์ด ๋์ ์๋น์ค์์๋ ์ด์ ์ค๋จ ์์ด ๋ฐฐํฌ๊ฐ ์ด๋ฃจ์ด์ ธ์ผ ํ๋ฏ๋ก, CD์ ์๋ํ๋ ๋กค๋ง ๋ฐฐํฌ๋ ๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ ์ ๋ต์ด ์ ์ฉํ๋ค.
- ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋น์ค๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ
์ฒ
- ๋ง์ดํฌ๋ก์๋น์ค๋ ์ปจํ ์ด๋ ๊ธฐ๋ฐ ์ํคํ ์ฒ์์๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ๊ตฌ์ฑ ์์๊ฐ ๋ง๊ธฐ ๋๋ฌธ์, CD๋ฅผ ํตํด ํจ์จ์ ์ด๊ณ ์์ ์ ์ธ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค.
- ๋น ๋ฅด๊ณ ์์ ์ ์ธ ๋ฐฐํฌ๊ฐ ํ์ํ ํ๊ฒฝ
* CD๋ ์ฌ์ฉ์์๊ฒ ๋น ๋ฅด๊ฒ ๋ณ๊ฒฝ ์ฌํญ์ ์ ๋ฌํด์ผ ํ๊ณ , ๋ฐฐํฌ ๊ณผ์ ์ ์ ๋ขฐ์ฑ์ ๋์ด๊ณ ์ ํ ๋ ํ์ํ๋ค.
๐ก CI์ CD๊ฐ ํ์ํ ํ๊ฒฝ์ ๋ํด ์์๋ณด์๋ค. ๊ทธ๋ ๋ค๋ฉด ์ธ์ CI/CD๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ข์๊น?
๊ฐ์ฅ ์ข์ ์์ ์ ํ๋ก์ ํธ ์ด๊ธฐ(๋ฆฌํฌ์งํ ๋ฆฌ ์์ฑ ์งํ)์ด๋ค.
ํ๋ก์ ํธ์ ๋ณต์ก๋๋ ๊ท๋ชจ์ ๋ฐ๋ผ ๊ตฌ์ถ ์์ ๊ณผ ๋ฐฉ๋ฒ์ด ๋ฌ๋ผ์ง ์ ์์ง๋ง, ๊ฐ๋ฅํ๋ฉด ์ด๊ธฐ ๋จ๊ณ์์ ๊ฐ๋จํ ํํ๋ก๋ผ๋ ์์ํ๋ ๊ฒ์ด ์ด์์ ์ด๋ค. ์ด๊ธฐ ์ ์ ๋จ๊ณ์์ CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ๋ค๋ฉด, ํ๋ก์ ํธ๊ฐ ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฐ๋ฐ๋๊ธฐ ์ ์ ์ฝ๋ ํ์ง๊ณผ ๋ฐฐํฌ ํ๋ก์ธ์ค๊ฐ ์์ ์ ์ผ๋ก ๊ด๋ฆฌ๋ ์ ์๋ ๊ธฐ๋ฐ์ ๋ง๋ จํ ์ ์๋ค.
์ด๊ธฐ ์ ์ ๋จ๊ณ์์ CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ ๋์ ์ฅ์ ๊ณผ ์ ์ ๋จ๊ณ์์ ๊ตฌ์ถ์ ๋์น ๊ฒฝ์ฐ ๋จ์ ์ ๋ํด ์์๋ณด์.
- ์ด๊ธฐ ์ ์ ๋จ๊ณ์์ CI/CD๋ฅผ ๊ตฌ์ถํ์ ๋์ ์ฅ์
โ๏ธ ์ฝ๋ ํ์ง ํ๋ณด: ์ด๊ธฐ๋ถํฐ ํ ์คํธ์ ์ฝ๋ ๊ฒ์ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋ฉด ํ์ง ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์๋ค.
โ๏ธ ๋ฐฐํฌ ํจ์จ์ฑ: ์๋ ๋ฐฐํฌ๋ฅผ ์ค์ด๊ณ ์๋ํ๋ ๋ฐฐํฌ ํ๊ฒฝ์ ๋ง๋ค์ด ์์ฐ์ฑ์ ๋์ผ ์ ์๋ค.
โ๏ธ ๊ฐ๋ฐ ์๋ ํฅ์: ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋น ๋ฅด๊ฒ ํตํฉ๋๊ณ ํ ์คํธ๋๊ธฐ ๋๋ฌธ์ ํ์ ์๋๊ฐ ๋นจ๋ผ์ง๋ค.
โ๏ธ ํ์คํ๋ ์ํฌํ๋ก์ฐ: ํ์๋ค์ด ์ผ๊ด๋ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅผ ์ ์์ด ํผ๋์ ์ค์ด๊ณ ํจ์จ์ฑ์ ๋์ธ๋ค.
- ์ด๊ธฐ ์ ์ ๋จ๊ณ์์ CI/CD ๊ตฌ์ถ์ ๋์น ๊ฒฝ์ฐ ๋จ์
โ๏ธ์ฝ๋ ๋ฒ ์ด์ค๊ฐ ๋ณต์กํด์ง์๋ก ๋์ค์ CI/CD๋ฅผ ๊ตฌ์ถํ๋ ๋น์ฉ์ด ์ปค์ง ์ ์๋ค.
โ๏ธ๊ธฐ์กด ์ฝ๋๋ฅผ ์ฌ๊ตฌ์ฑํ๊ฑฐ๋ ํ ์คํธ๋ฅผ ์์ฑํด์ผ ํ๋ ๊ฒฝ์ฐ ๊ฐ๋ฐ ์๋๊ฐ ๋๋ ค์ง ์ ์๋ค.
โ๏ธ๊ฐ๋ฐ ๋จ๊ณ์์ ๋ฐ์ํ ํ์ง ๋ฌธ์ ๋ฅผ ๋ค๋ฆ๊ฒ ๋ฐ๊ฒฌํ๊ฒ ๋์ด ๋ฒ๊ทธ ์์ ์ ๋ ๋ง์ ์๊ฐ์ด ์์๋ ์ ์๋ค.
๐ก CI/CD๊ฐ ๋ฌด์์ธ์ง, ํ์ํ ํ๊ฒฝ๊ณผ ๊ตฌ์ถ ์์ ์ ๋ํด ์์๋ณด์๋ค.
ํ์ํ ํ๊ฒฝ์ ๋ณด๋ฉด ์๊ท๋ชจ ๊ฐ์ธ ํ๋ก์ ํธ์ธ๋ฐ ๊ตฌ์ถ์ ํ๋ ๊ฒ์ด ๋ง๋ ์ถ์ ์๊ฐ์ด ๋ค ์๋ ์์ง๋ง,
์ง๋ ํ ํ๋ก์ ํธ์์๋ ๋ค๋ฅธ ํ์๋ค์ด ๊ตฌ์ถ์ ํ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํด์ ์ง์ ํด๋ณด๊ณ ์ถ์ ์ด์ ๋ ์๊ณ ,
์ค์๊ฐ ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์์๊ฒ ๋น ๋ฅธ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ๋ค๊ณ ์๊ฐ๋์ด ๊ตฌ์ถ์ ํด๋ณด๋ ค๊ณ ํ๋ค.
๊ทธ๋ผ ์ด๋ฒ์ CI/CD๋ฅผ ๊ตฌํํ๋ ๋๊ตฌ์ ๋ํด ์์๋ณด์.
๐ CI/CD๋ฅผ ๊ตฌํํ๋ ๋๊ตฌ
๋ํ์ ์ธ CI/CD ํด์๋ GitHub Actions, Jenkins, GitLab CI/CD, Travis CI, Bamboo ๋ฑ์ด ์๋ค.
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ค๋ GitHub Actions์ Jenkins ๋ ๊ฐ์ง๋ฅผ ๋น๊ตํด๋ณด์.
ํน์ง | GitHub Actions | Jenkins |
์ค์น | GitHub์ ๋ด์ฅ | ๋ณ๋ ์ค์น ํ์ |
์ ์ฐ์ฑ | GitHub์ ์ต์ ํ | ๋ค์ํ ํ๊ฒฝ์ ์ ํฉ |
๋ฌ๋ ๊ด๋ฆฌ | GitHub ํธ์คํ (๊ธฐ๋ณธ) / ์ ํ ํธ์คํ ์ง์ | ์ฌ์ฉ์ ์ง์ ๊ด๋ฆฌ ํ์ |
๋น์ฉ | ์ ํ๋ ๋ฌด๋ฃ ์ ๊ณต, ์ถ๊ฐ ์ฌ์ฉ๋ ์ ๋ฃ | ์คํ ์์ค(์๋ฒ ๋น์ฉ ๋ณ๋) |
ํ์ต ๊ณก์ | ๋ฎ์ | ๋ค์ ๋์ |
ํ์ฅ์ฑ | ์ ํ์ | ๋งค์ฐ ์ ์ฐ |
์ปค๋ฎค๋ํฐ | ์ต์ ๊ธฐ์ , ๋น ๋ฅด๊ฒ ์ฑ์ฅ | ์ค๋๋ ์ปค๋ฎค๋ํฐ, ๋ฐฉ๋ํ ํ๋ฌ๊ทธ์ธ |
- GitHub Actions๋ GitHub ๊ธฐ๋ฐ ํ๋ก์ ํธ์์ ๊ฐ๋จํ๊ณ ์ ์ํ CI/CD๋ฅผ ์ํ๋ ํ์ ์ ํฉํ๋ค.
- Jenkins๋ ๋ณต์กํ ์๊ตฌ์ฌํญ, ๋ค์ํ ํ๋ซํผ, ํ์ฅ์ฑ์ ํ์๋ก ํ๋ ํ๋ก์ ํธ์ ์ ํฉํ๋ค.
์์ ํน์ง์ ๋ณด๊ณ ์ค์ ์ด ๊ฐํธํ๊ณ , ๋ณ๋์ ์ค์น๊ฐ ํ์ ์๋ GitHub Actions๋ฅผ ์ฌ์ฉํด์ CI/CD๋ฅผ ๊ตฌ์ถํด ๋ณด๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
์ฌ๊ธฐ๊น์ง CI/CD์ ๊ฐ๋ ์ ๋ํด ์์๋ณด์๋ค.
์ด์ด์ GitHub Actions๋ฅผ ํตํด CI/CD๋ฅผ ์ง์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์.
* CI/CD์ ๋ํ ์์ธํ ๋ด์ฉ์ด ๊ถ๊ธํ๋ค๋ฉด ์๋ ๊ธ์ ์ถ์ฒํ๋ค.
<์ง์ ์ฌ์ > CI/CD๋? DevOps์ ํต์ฌ - ์ง์์ ํตํฉ/๋ฐฐํฌ์ ๊ฐ๋ ๊ณผ ๊ตฌ์กฐ ์๋ฒฝ ์ ๋ฆฌ
์๋ ํ์ธ์, ์นด์นด์คํด๋ผ์ฐ๋์ ๋๋ค. ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ Continuous Integration/Continuous Deployment(์ดํ, CI/CD)๋ ์ ํ์ด ์๋ ํ์๊ฐ ๋์์ต๋๋ค. ๋น ๋ฅธ ๊ฐ๋ฐ๊ณผ ์์ ์ ์ธ ๋ฐฐํฌ๋ฅผ ๋์์ ๋ฌ์ฑํ๊ธฐ
blog.kakaocloud.com
๐ ์ฐธ๊ณ
CI/CD(CI CD, ์ง์์ ํตํฉ/์ง์์ ๋ฐฐํฌ): ๊ฐ๋ , ํด, ๊ตฌ์ถ, ์ฐจ์ด
CI/CD๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํฉ ๋ฐ ํ ์คํธ ๋จ๊ณ๋ถํฐ ์ ๊ณต ๋ฐ ๋ฐฐํฌ๊น์ง ์ ํ๋ฆฌ์ผ์ด์ ๋ผ์ดํ์ฌ์ดํด ์ ์ฒด์์ ์ง์์ ์ธ ์๋ํ์ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง์ ์ ๊ณตํ๋ ๊ฒ์ ๋ปํฉ๋๋ค.
www.redhat.com
CI/CD๋ ๋ฌด์์ผ๊น?
์ค๋์ CI/CD์ ๋ํด์ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค. ์์ผ๋ก๋ ๊ธ์ ์์ฑํ๋๋ฐ ํธํ ๊ธ์จ์ฒด๋ก ์์ฑํ ์๊ฐ์ ๋๋ค :) CI/CD๋? CI/CD๋ ๊ฐ๋ฐ์๋ผ๋ฉด ํ ๋ฒ์ฏค์ ๋ค๋ค ๋ค์ด๋ดค์ ๋งํ ๋จ์ด์ผ ๊ฒ์ด๋ค. CI/CD๋ ์ ํ๋ฆฌ
jud00.tistory.com