2023. 4. 15. 23:30ใ๐ AWS

1. ๊ธ์ ์์ฑํ๋ ์ด์
์๋ ํ์ธ์. ์ด๋ฒ์๋ Jenkins๋ฅผ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค.
์ฌ์ค Jenkins๋ฅผ ํ์ตํ ์ด์ ๋ ์ ์ ์ผ๋ก ์ทจ์ ์ ํ๊ธฐ ์ํด ์ฐ๋์ฌํญ์ ๋ณด๋ฉด Jenkins CI/CD ํ์ดํ๋ผ์ธ ์ฐ๋๊ฐ ์์ด์ ๊ด์ฌ์ ๊ฐ์ง๊ฒ ๋์์ต๋๋ค.
์ผ๋จ Jenkins์ ๋ํด ํ์ต์ ํ๋ฉด์ ๊ถ๊ธํ ์ฌํญ์ด ์์์ต๋๋ค.
์์ฅ์๋ CI/CDํด์ด ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด Travis์ด ์์ต๋๋ค. Travis๋ ํธ์คํ ๋ ์๋น์ค๋ก ํด๋ผ์ฐ๋ ํ๋ซํผ์์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋์ ๊ฐ๋ฐ์๊ฐ ์ค์ ๋ฐ ์ค์น๊ฐ Jenkins์ ๋นํด์ ๋ ํธํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ ์์ฅ์์๋ Jenkins ์ฐ๋์ฌํญ์ด ๋ง์์ง ๊ถ๊ธํ์ต๋๋ค.
2. Travis / Jenkins
์ผ๋จ ํธ์คํ ๋ ์๋น์ค์ ์ง์ ๊ฐ๋ฐ์๊ฐ ์ค์น ๋ฐ ๊ด๋ฆฌ๋ฅผ ํ๋ Travis์ Jenkins์ ์ฐจ์ด์ ๋ํด์ ์ค๋ช ์ ํ๊ฒ ์ต๋๋ค.
์ผ๋จ 4๊ฐ์ง ๊ด์ ์์ ์ค๋ช ์ ํ๊ฒ ์ต๋๋ค.
1. ํธ์คํ ์ต์
Travis๋ ํธ์คํ ๋ ์๋น์ค๋ก ํด๋ผ์ฐ๋ ํ๋ซํผ์์ ์ ๊ณต๋ฉ๋๋ค. ํ์ง๋ง Jenkins๋ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์์ ์ค์นํ์ฌ ์ฌ์ฉํ๋ ์ค์นํ ๋๊ตฌ ์ ๋๋ค. ๋ฐ๋ผ์ Jenkins๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์๋ฒ๋ฅผ ์ง์ ์ค์ ํ๊ณ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
2. ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ
Jenkins๋ ๋ค์ํ ํ๋ฌ๊ทธ์ธ๊ณผ ํ์ฅ ๊ธฐ๋ฅ์ ํตํด ๋งค์ฐ ๋์ ํ์ฅ์ฑ๊ณผ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ํ์ํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ ๋ง์ถคํํ ์ ์์ต๋๋ค. Travis๋ ํธ์คํ ๋ ์๋น์ค๋ก ์ผ๋ถ ๊ธฐ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
3. ๊ตฌ์ฑ ๋ฐ ๊ด๋ฆฌ์ ๋ณต์ก์ฑ
Jenkins๋ ์ค์น์ ๊ตฌ์ฑ์ด ๋ ๋ณต์กํ๋ฉฐ, ์๋ฒ ๊ด๋ฆฌ, ๋ฐฑ์ , ๋ณด์ ๋ฑ์ ๋ํ ์ฑ ์์ด ์ฌ์ฉ์์๊ฒ ์์ต๋๋ค. Travis๋ ํด๋ผ์ฐ๋์์ ํธ์คํ ๋๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ ์ด๋ฌํ ์ธก๋ช ์ ๊ฑฑ์ ํ ์น ์๊ฐ ์์ต๋๋ค.
4. ๋น์ฉ
Travis๋ ํด๋ผ์ฐ๋ ์๋น์ค๋ก, ์ฌ์ฉ์๊ฐ ํน์ ์๊ธ์ ์ง๋ถํ์ฌ ์ฌ์ฉํฉ๋๋ค. Jenkins๋ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ง๋ง, ์ค์น์ ๊ตฌ์ฑ, ์๋ฒ ์ ์ง ๊ด๋ฆฌ ๋ฑ์ ๋ฐ๋ฅธ ์ถ๊ฐ์ ์ธ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
[ ์ฐธ๊ณ ]
[DevOps] Jenkins vs Travis-CI ๋ฌด์์ด ๋ ์ข์๊ฐ?
CI(Continuous Integration) CI๋ ํ ๊ตฌ์ฑ์์ด ํ๋ฃจ์ ํ ๋ฒ ์ด์ ์์ ์ ํตํฉํ ์ ์๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ฐฉ๋ฒ์์ ๋ชจ๋ ํตํฉ์ ์ค๋ฅ๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์๋ํ๋ ๋น๋์ ์ํด ํ์ธ๋๋ค. CI๋ผ
loosie.tistory.com
Jenkins | Travis-CI | |
๋น์ฉ | ์ ํจ์ค๋ ๋ฌด๋ฃ์ด๋ค. ๊ทธ๋ฌ๋ ์ง์ ์ ์ฉ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์ง ๊ด๋ฆฌํด์ผ ํ๋ค. ์ด ๊ด๋ฆฌ ๋น์ฉ์ ์ถ๊ฐ ๋น์ฉ์ผ๋ก ๊ฐ์ฃผ๋ ์ ์๋ค. (๊ฐ์ธ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ EC2 ํ๋ฆฌํฐ์ด swap ๊ณต๊ฐ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํ ๋นํ์ฌ ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅ - ์ฐธ๊ณ ) |
Travis CI ์ํฐํ๋ผ์ด์ฆ ์ ํ๊ตฐ์ ์ $129๋ถํฐ ์์ํ๋ค. ํ์ํ ์ง์ ์์ค์ ๋ฐ๋ผ ๋น์ฉ์ด ์ฆ๊ฐํ๋ค. |
Set up ํ์ | Jenkins๋ ์ ๊ตํ ์ค์ ์ด ํ์ํ๋ค. ๋ฐ๋ผ์ ์์ ํ ์ค์น๋ฅผ ์ํด ๋ค์ ์๊ฐ์ด ์์๋ ์ ์๋ค. | ์์ํ๋ ๋ฐ ์๊ฐ์ด ํจ์ฌ ์ ๊ฒ ๊ฑธ๋ฆฐ๋ค. ๊ตฌ์ฑ ํ์ผ(yml)์ ๋ง๋ค๊ณ ํตํฉ์ ์์ํ๋ค. |
์ฑ๋ฅ | ๋ฌด์ ํ ์ฌ์ฉ์ ์ง์ ์ต์ ์ด ์๋ CI ๋๊ตฌ๋ฅผ ์ฐพ๊ณ ์๋ค๋ฉด Jenkins๊ฐ ์ต๊ณ ์ ์ ํ์ด๋ค | ์คํ ์์ค ํ๋ก์ ํธ(public)์์ ์์ ํ๋ ๊ฒฝ์ฐ Travis CI๊ฐ ์ต์ ์ ์ ํ์ด๋ค |
๋๊ตฌ ํ์ | ํด์ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์๋ ์คํ ์์ค | ์์ฉ CI ํด |
์ฉ๋ฒ | ์ฌ์ฉํ๊ธฐ ์ฝ๋ค | ์ ์ฐํ ์ฌ์ฉ ๊ฐ๋ฅ |
์ฅ์ | โข ์ปค์คํฐ๋ง์ด์ง์ Jenkins CI ์๋ฒ์ ๊ฐ์ฅ ํฐ ์ฅ์ โข Jenkins์ ๋ชจ์์ ๋ณ๊ฒฝํ๋๋ก ๋ค๋์ plugin ์์นด์ด๋ธ ์ ๊ณต โข ์ธ์ฆ, ๊ฒฝ๊ณ ๋ฐ ์๊ฒฉ ์ฆ๋ช ๊ณผ ๊ฐ์ ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ๊ฐ๋ฅ |
โข GitHub ๋ฐ ํด๋ผ์ฐ๋ ํ๊ฒฝ(ex. aws)๊ณผ ์ฐ๋ โข .travis.ymi ํ์ผ์ ํตํ ๊ด๋ฒ์ํ ํ๋ก์ ํธ ๊ตฌ์ฑ โข ํด๋ฌ์คํฐ ํ ์คํธ๋ฅผ ํ์ฉํ๊ณ ๋ณ๋ ฌ๋ก ์คํ โข ๋ค์ค ๋น๋ ํ๊ฒฝ ๋ฐ ๋์ ํ๋ซํผ (์ฆ, ๋ ธ๋ 0.10,0.8,0.6, Li on). |
๋จ์ | ์ง์์ ํตํฉ์ ์ํ Jenkins์ ์ฃผ์ ๋จ์ ์ค ํ๋๋ ๊ตฌ์ฑ์ด ๋งค์ฐ ๋ง๋ค๋ ๊ฒ์ด๋ค. ์ ๊ณต๋๋ ๊ธฐ๋ณธ ์ค์ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์์คํ ์์ ๋ชจ๋ ๊ฒ์ ๊ตฌ์ฑํ๋ ๋ฐ 2-3์๊ฐ์์ ๋ฉฐ์น ์ด ๊ฑธ๋ฆด ์ ์๋ค. | Travis CI ์ค์น์ ๊ฐ์ฅ ํฐ ๋จ์ ์ ์์ ์ฉ ๊ณํ์ด $129/m์์ ์์ํ์ฌ ์๋นํ ๋น์ธ๋ค. ๋ณด์ ์์ค์ด ๋์ ํ๋ก์ ํธ์๋ ์ ํฉํ์ง ์๋ค. |
Usage Plans | ๋ฌด๋ฃ | ์คํ ์์ค ํ๋ก์ ํธ ๋ฌด๋ฃ 10,000 ํฌ๋ ๋ง ์ ๊ณต / ๊ธฐ์ ์ฉ ์ ๋ฃ |
Server Machine | ์๋ฒ ๊ธฐ๋ฐ | ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ |
์ปค์คํ ์ต์ | ์์ฒญ ๋ง์ | ์ ์ |
Config | ์์ ํ ์ฌ์ฉ์ ์ ์ ๊ฐ๋ฅ | YAML |
3. CI/CD๋ ๋ฌด์์ธ๊ฐ?
CI/CD(CI CD, ์ง์์ ํตํฉ/์ง์์ ๋ฐฐํฌ): ๊ฐ๋ , ํด, ๊ตฌ์ถ, ์ฐจ์ด
CI/CD๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํฉ ๋ฐ ํ ์คํธ ๋จ๊ณ๋ถํฐ ์ ๊ณต ๋ฐ ๋ฐฐํฌ๊น์ง ์ ํ๋ฆฌ์ผ์ด์ ๋ผ์ดํ์ฌ์ดํด ์ ์ฒด์์ ์ง์์ ์ธ ์๋ํ์ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง์ ์ ๊ณตํ๋ ๊ฒ์ ๋ปํฉ๋๋ค.
www.redhat.com
CI(Continuous Integration)
์ง์์ ์ธ ํตํฉ์ ์๋ฏธํฉ๋๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ์์ CI๋ ๊ฐ๋ฐ์๋ค์ด ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ง์์ ์ผ๋ก ํตํฉํ๊ณ ๋น๋, ํ ์คํธ, ๋ฐฐํฌํ๋ ํ๋ก์ธ์ค๋ฅผ ๋งํฉ๋๋ค.
CI๋ ํ์ ํ์ ์ ๊ฐํํ๊ณ ๋น ๋ฅธ ํผ๋๋ฐฑ์ ํตํด ๋ฒ๊ทธ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๊ณ ์์ ํจ์ผ๋ก์จ ์ํํธ์จ์ด์ ํ์ง์ ๋์ด๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด
1. ๊ฐ๋ฐ์๊ฐ ์์ค ์ฝ๋๋ฅผ Git์ Pushํ๋ฉด ์ ํจ์ค๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์งํ๊ณ ์๋์ผ๋ก ๋น๋ ์์ ์ ์์ํ๋ค.
2. ๋น๋ ํ์ ์ ํจ์ค๋ ๋จ์ ํ ์คํธ๋ฅผ ์๋์ผ๋ก ์คํํ์ฌ ์ฝ๋์ ํ์ง๊ณผ ์์ ์ฑ์ ํ๋ณดํ๋ค.
3. ์ ์ ์ฝ๋ ๋ถ์: ์ ํจ์ค๋ ์ ์ ์ฝ๋ ๋ถ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋์ ํ์ง๊ณผ ์์ ์ฑ์ ํ๊ฐํ๋ค.
4. ๋น๋ ๊ฒฐ๊ณผ์ ๋ณด๊ณ ๋ฐ ์๋ฆผ: ์ ํจ์ค๋ ๋น๋ ๊ฒฐ๊ณผ์ ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด๊ณ ํ๊ณ ์ด๋ฉ์ผ, ์ฌ๋ ๋ฑ์ ์๋จ์ ํตํด ๊ฐ๋ฐ์๋ ํ ๋ฉค๋ฒ์๊ฒ ์๋ฆผ์ ๋ณด๋ธ๋ค.
5. ์๋ ๋ฐฐํฌ: ๋น๋ ๋ฐ ํ ์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด ์ ํจ์ค๋ ์๋์ผ๋ก ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ ์ ์๋ค.
4. ๊ทธ๋ฌ๋ฉด Jenkins๋ ๋ฌด์์ธ๊ฐ์?
์ ํจ์ค(Jenkins)๋ ์คํ ์์ค์ ์ง์์ ํตํฉ ๋ฐ ์ง์์ ๋ฐฐํฌ(CI/CD) ๋๊ตฌ๋ก, ๊ฐ๋ฐ์๋ค์ด ์์ค ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ๋น๋, ํ
์คํธ, ๋ฐฐํฌํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ ํจ์ค๋ Java ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ๋ค์ํ ํ๋ฌ๊ทธ์ธ์ ์ง์ํ์ฌ ๋ค์ํ ์ธ์ด์ ํ๋ ์์ํฌ, ๋๊ตฌ๋ค๊ณผ์ ํตํฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ ํจ์ค๋ ๊ฐ๋ฐ์๋ค์ด ์ํํธ์จ์ด์ ํ์ง์ ๋์ด๊ณ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ํจ์จํํ๊ธฐ ์ํด ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ช ๊ฐ์ง ์ ํจ์ค์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์๋ ๋น๋: ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์งํ์ฌ ์๋์ผ๋ก ๋น๋ ์์
์ ์ํํฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ค ์ฝ๋๋ฅผ ์ปดํ์ผํ๊ณ ์คํ ๊ฐ๋ฅํ ํํ์ ์ํํธ์จ์ด๋ฅผ ์์ฑํฉ๋๋ค.
์๋ ํ
์คํธ: ๋น๋ ํ์ ์๋์ผ๋ก ๋จ์ ํ
์คํธ, ํตํฉ ํ
์คํธ, ์ฑ๋ฅ ํ
์คํธ ๋ฑ์ ์คํํ์ฌ ์ฝ๋์ ํ์ง๊ณผ ์์ ์ฑ์ ํ์ธํฉ๋๋ค.
ํ๋ฌ๊ทธ์ธ ์ง์: ๋ค์ํ ํ๋ฌ๊ทธ์ธ์ ์ ๊ณตํ์ฌ ๋ค์ํ ์ธ์ด, ํ๋ ์์ํฌ, ๋๊ตฌ๋ค๊ณผ์ ํตํฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Git, SVN, Docker, AWS, Slack ๋ฑ๊ณผ์ ํตํฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ณด๊ณ ๋ฐ ์๋ฆผ: ๋น๋ ๋ฐ ํ
์คํธ ๊ฒฐ๊ณผ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด๊ณ ํ๊ณ , ์ด๋ฉ์ผ, ์ฌ๋ ๋ฑ์ ์๋จ์ ํตํด ๊ฐ๋ฐ์๋ ํ ๋ฉค๋ฒ์๊ฒ ์๋ฆผ์ ๋ณด๋ผ ์ ์์ต๋๋ค.
๋ฐฐํฌ ์๋ํ: ๋น๋์ ํ
์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด, ์ํํธ์จ์ด๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒฝ์ฐ, ์น ์๋ฒ์ ์๋์ผ๋ก ๋ฐฐํฌํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์
๋ฐ์ดํธ ๋ฑ์ ์์
๋ ์ํํ ์ ์์ต๋๋ค.
์ ํจ์ค๋ ์ง์์ ํตํฉ ๋ฐ ์ง์์ ๋ฐฐํฌ๋ฅผ ํตํด ๊ฐ๋ฐ์๋ค์ด ๋น ๋ฅด๊ฒ ํผ๋๋ฐฑ์ ๋ฐ๊ณ , ํ์ง ๋์ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ฉฐ, ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ฌ ๊ฐ๋ฐ์ ํจ์จ์ฑ์ ํฅ์์ํค๋๋ฐ ๋์์ ์ค๋๋ค.
์ฐธ๊ณ
CI/CD(CI CD, ์ง์์ ํตํฉ/์ง์์ ๋ฐฐํฌ): ๊ฐ๋ , ํด, ๊ตฌ์ถ, ์ฐจ์ด
CI/CD๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํฉ ๋ฐ ํ ์คํธ ๋จ๊ณ๋ถํฐ ์ ๊ณต ๋ฐ ๋ฐฐํฌ๊น์ง ์ ํ๋ฆฌ์ผ์ด์ ๋ผ์ดํ์ฌ์ดํด ์ ์ฒด์์ ์ง์์ ์ธ ์๋ํ์ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง์ ์ ๊ณตํ๋ ๊ฒ์ ๋ปํฉ๋๋ค.
www.redhat.com
[Jenkins] Jenkins ๊ฐ๋ ๋ถํฐ ์ค์น, ์ฐ๋๊น์ง
ํ์ฌ ์คํฐ๋๋ก Jenkins ๊ณต๋ถ๋ฅผ ํ๊ฒ ๋์๋ค... ๐ Jenkins : www.jenkins.io/ Jenkins Jenkins โ an open source automation server which enables developers around the world to reliably build, test, and deploy their software www.jenkins.io Contin
yeonyeon.tistory.com
์ ํจ์ค๋ ๋ฌด์์ธ๊ฐ, CI(Continuous Integration) ์๋ฒ์ ์ดํด
์ ํจ์ค(Jenkins)๋ ๊ฑฐ์ ๋ชจ๋ ์ธ์ด์ ์กฐํฉ๊ณผ ์์ค์ฝ๋ ๋ฆฌํฌ์งํ ๋ฆฌ(Repository)์ ๋ํ ์ง์์ ์ธ ํตํฉ๊ณผ ์ง์์ ์ธ ์ ๋ฌ ํ๊ฒฝ์ ๊ตฌ์ถํ๊ธฐ
www.itworld.co.kr
'๐ AWS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ Jenkins ] Jenkins FreeStyle Github ๋ฐฐํฌํ๊ธฐ (0) | 2023.04.21 |
---|---|
[ Jenkins ] Jenkins Item Freestyle CI/CD ๋ฐฐํฌ (0) | 2023.04.19 |
[ AWS ] AWS๋ ์นํด์ง๊ธฐ - 3 (Docker๋ฅผ ์ด์ฉํด์ ๋ฐฐํฌํ๊ธฐ) (0) | 2023.04.07 |
[ AWS ] AWS๋ ์นํด์ง๊ธฐ -2 (์๊ฐ ์ค์ ) (0) | 2023.04.07 |
[ AWS ] AWS๋ ์นํด์ง๊ธฐ-1 (AWS EC2 ๊ธฐ๋ณธ ๋ฐฐํฌ) (0) | 2023.04.07 |