Jenkins
Jenkins
์ ํจ์ค๋?
์ ํจ์ค๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ ์ง์์ ํตํฉ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํด์ด๋ค.
๋ค์์ ๊ฐ๋ฐ์๋ค์ด ํ๋์ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋ ๋ฒ์ ์ถฉ๋์ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ฐ์ ์์
ํ ๋ด์ฉ์ ๊ณต์ ์์ญ์ ์๋
Git๋ฑ์ ์ ์ฅ์์ ๋น๋ฒํ ์
๋ก๋ํจ์ผ๋ก์จ ์ง์์ ํตํฉ์ด ๊ฐ๋ฅํ๋๋ก ํด ์ค๋ค.
Jenkins ์ฅ์
๋ง์ฝ ๊ฐ๋ฐ์๊ฐ Jenkins๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฐฐํฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค๋ฉด ์ด๋ฌํ ํ๋ก์ฐ๋ฅผ ์คํํ๊ฒ ๋ ๊ฒ์ด๋ค.
1. ๋ฐฐํฌ์๋ฒ์์ .war ๋๋ .jar build
2. FileJilla์ ๊ฐ์ ํ๋ก๊ทธ๋จ ์ฌ์ฉ build ํ์ผ ์ด์์๋ฒ๋ก ์ด๋
3. ssh๋ฅผ ํตํ ์ด์์๋ฒ ์ ์ ํ ์คํ์ค์ธ ์๋ฒ kill
4. ์๋ก ๋ฐ์์จ build ํ์ผ ๋ฐฐํฌ
๊ฐ๋ตํ๊ฒ 4๋จ๊ณ๋ฅผ ๊ฑฐ์ฒ ๋ฐฐํฌ๋ฅผ ํ๊ฒ ๋๋ค.
ํ์ง๋ง ๊ฐ๋ฐ์ ํ๋ฉด ๊ฐ๋จํ ์์ ์ฌํญ ๋๋ ํ
์คํธ ๋ณ๊ฒฝ ๋ฐ ์์ ๊ธฐ๋ฅ ์ถ๊ฐ์ ๊ฐ์ด
๊ฐ๋จํ ์์
์ด ์ง์์ ์ผ๋ก ํ์ํ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ด๋ด๋ง๋ค ์์ ๊ฐ์ด build -> ๋ฐฐํฌ, build -> ๋ฐฐํฌ๋ฅผ ํ๋ ๊ณผ์ ์ ์๊น๊ณ ๋ถํ์ํ ์๊ฐ์ด ๋ ์ ์๋ค.
์ด๊ฒ์ Jenkins๋ฅผ ํตํด ์๋ํ ๋ฐฐํฌ ์์คํ ์ ๊ตฌ์ถํ ์ ์๋ค.
1. ์ด๊ธฐ Jenkins ๋ค์ด ๋ฐ ์
ํ
2. ์ฐ๋๋ Git ์์ ์ฌํญ ํธ์ฌ
3. Jenkins๊ฐ build ํ ์๋ฒ์ ๋ฐฐํฌ ์์(kill -> ๋ฐฐํฌ)
๋ถ๋ช Jenkins๋ฅผ ์ฌ์ฉํ๊ฒ๊ณผ ์ฌ์ฉํ์ง ์์๊ฒ์ ์ฐจ์ด๊ฐ ์๋ค.
์์ฆ ๊ฐ์ ์๋์์๋ ๊ผญ ํ์์ ์ผ๋ก ํ์ํ ์คํ์ด๋ผ ์๊ฐ๋๋ค.
Docker๋ฅผ ํตํ ์ค์น
AWS EC2 linux์๋ฒ๋ฅผ ์์๋ก ์ค์น๋ฅผ ์งํํ๋ค.
Docker ์ค์น ๋ฐฉ๋ฒ์ Docker docs๋ฅผ ์ฐธ๊ณ ํ๋ค.
https://docs.docker.com/engine/install/ubuntu/
์ด์์๋ฒ์ Docker๊ฐ ์ค์น ๋์ด์๋ค๋ฉด ์ด์ ๋ฒ์ ผ์ ๋จผ์ ์ญ์ ํด์ค๋ค.
$ sudo apt-get remove docker docker-engine docker.io containerd runc
Leave a comment