๊ฐ์ํ๊ฐ๋
: ๊ฐ์ํ๋ ๋ฌผ๋ฆฌ์ ์ธ ํ๋์จ์ด ์์์ ์ํํธ์จ์ด์ ์ผ๋ก ์ถ์ํํ์ฌ, ์ฌ๋ฌ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๊ฑฐ๋ ํ๋์ ์์์ ๋ค์์ ์ฌ์ฉ์ ํน์ ์์คํ
์ด ๊ณต์ ํ ์ ์๋๋ก ํ๋ ๊ธฐ์ 1๋์ ๋ฌผ๋ฆฌ์๋ฒ๋ฅผ ์ฌ๋ฌ๋์ ๊ฐ์์๋ฒ๋ก ๊ตฌ์ถ ๊ฐ๋ฅ์ฌ๋ฌ๋์ ๋ฌผ๋ฆฌ์๋ฒ๋ฅผ ํ๋์ ๊ฐ์์๋ฒ๋ก ๊ตฌ์ถ ๊ฐ๋ฅ์๋ฒ, ์คํ ๋ฆฌ์ง, ๋คํธ์ํฌ ๋ฑ์ ํ๋์จ์ด ์์์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅ ๊ฐ์ํ์ ์ ํ์๋ฒ ๊ฐ์ํ: ํ๋์ ๋ฌผ๋ฆฌ์ ์๋ฒ๋ฅผ ์ฌ๋ฌ ๋์ ๊ฐ์ ์๋ฒ๋ก ๋๋์ด ์ฌ์ฉํ๋ ๋ฐฉ์๋คํธ์ํฌ ๊ฐ์ํ: ๋ฌผ๋ฆฌ์ ๋คํธ์ํฌ ์ฅ์น๋ฅผ ๊ฐ์ํํ์ฌ ๋
ผ๋ฆฌ์ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑ, ๋คํธ์ํฌ ์ค์ ์ ์ํํธ์จ์ด๋ก ํ๋ค.๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ํ๋์ธ ๋คํธ์ํฌ๋ ์ฌ๋ฌ ๊ฐ์ ๋คํธ์ํฌ๋ก ๋ถํ ๊ฐ๋ฅ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋จ์ด์ ธ ์๋ ์ฌ๋ฌ ๋คํธ์ํฌ๋ฅผ ๊ฐ์ ๋คํธ์ํฌ ํ๋๋ก ํตํฉ ๊ฐ๋ฅ๋ฐ์คํฌํ ๊ฐ์ํ: ๋ฌผ๋ฆฌ์ ์ปดํจํฐ ์์ด ๊ฐ..
๐ณ์ธํ๋ผ
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnfCjX%2FbtsJm9y0CSx%2FmlUcl2ODUGKVyLZ3HmPTR0%2Fimg.png)
์ด๋ฏธ์ง๋น๋๋?์ด๋ฏธ์ง๊ฐ ์ด๋ป๊ฒ ์ ์ฅ๋๋์ง, ์ด๋ฏธ์ง๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๋ ๋ ์ด์ด๋ ๊ตฌ์กฐ์ด๋ฏธ์ง๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ: ์ปค๋ฐ, ๋น๋๋น๋ ์ํด์ ๋์ปค ํ์ผ์ด๋ผ๋ ๋ช
์ธ์ ์์ฑ๋ ํจ์จ์ ์ธ ์ด๋ฏธ์ง ๋น๋ ๋ฐฉ์: ๋ฉํฐ ์คํ
์ด์ง ๋ฐฉ์ 1. ์ด๋ฏธ์ง์ ๋ ์ด์ด์ด๋ฏธ์ง๋ ์ปจํ
์ด๋ ์คํ ์ํ ์ฝ๊ธฐ ์ ์ฉ ํ์ผ์ด๋ฉฐ, ๋์ปค ์ด๋ฏธ์ง๋ ๋ ์ด์ด๋ ํ์ผ ์์คํ
์ผ๋ก ๊ตฌ์ฑ๋๋ค.๋ ์ด์ด๋ ์ฌ๋ฌ๊ฐ์ ์ธต์ผ๋ก ๊ตฌ์ฑ๋ ๊ฒ ์ค ํ๋์ ์ธต์ผ๋ก, ๋ ์ด์ด๋ ๊ตฌ์กฐ๋ ์ฌ์ฌ์ฉํ๊ธฐ ์ข์ ๊ตฌ์กฐ์ด๋ค.์ด ๋ ์ด์ด๋ค์ด ๋ชจ์ฌ์ ํ๋์ ์ด๋ฏธ์ง๋ก ๊ตฌ์ฑ๋๋ ๊ฒ์ด๋ค. ์ฆ, ๊ฐ ๋ ์ด์ด๋ ์ด๋ฏธ์ง์ ์ผ๋ถ๋ถ์ด๋ค. ์ ํ๋์ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ ๋ ์ด์ด๋ก ๊ตฌ์ฑํ ๊น?๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ด ์ด๋ฏธ์ง ์ ์ฅ&์ ์ก ์ ์คํ ๋ฆฌ์ง์ ๋คํธ์ํฌ ์ฌ์ฉ๋์ ์ ์ฝํ ์ ์๋ค. ๊ฑด์ถ๋๋ฉด์ ์๊ฐํ์ํฌ๋ช
ํ ๋๋ฉด์ ์ฌ๋ฌ ์ฅ ์ค๋นํ์ฌ ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbR1wxS%2FbtsJnH24Fek%2FCKYU4qfhc0aQM4krZv8gg0%2Fimg.png)
์ด๋ฏธ์ง ๋ ์ง์คํธ๋ฆฌ๋ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ์ ์ฅ์์ด๋ค.์ด ์ด๋ฏธ์ง ๋ ์ง์คํธ๋ฆฌ๋ฅผ ํตํด์ ๊ฐ์ธ์ด๋ ํ์ด ์ด๋ฏธ์ง๋ฅผ ๋ค๋ฅธ ์ฌ๋๊ณผ ๊ณต์ ํ๊ฑฐ๋ ํ์ํ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ์ ์ ์๋ค. ์ ๋ฒ ์ฑํฐ์์ Nginx ์ปจํ
์ด๋๋ฅผ ์คํํ ๋, ์ด ์ด๋ฏธ์ง ๋ ์ง์คํธ๋ฆฌ์์ Nginx ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ์๋ค.๋ํ ๋ ์ง์คํธ๋ฆฌ: ๋์ปค ํ๋ธ์๋กญ๊ฒ ๋ง๋ ๋์ปค ํ๋ธ์ ๊ณ์ ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ํ๊ณ ๋ค์ด๋ก๋ํด๋ณด๊ฒ ๋ค. ์ด๋ฏธ์ง ๋ ์ง์คํธ๋ฆฌ๊ฐ๋
: ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๋ ์ ์ฅ์๊ฐ๋ฐ์๋ GitHub๋ฅผ ์ฌ์ฉํด์ ์์ ์ ์์ค ์ฝ๋๋ฅผ ์ฝ๊ฒ ๋ณด๊ดํ๊ณ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค๊ณผ ๊ณต์ Image Registry๋ GitHub์ ์์ฃผ ๋น์ท๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ Public Image Registry๋ Docker HubGitHub๊ฐ ์์ค ์ฝ๋๋ฅผ ์ ์ฅํ๋ ์ ์ฅ์์ด๋ฉด, Docker Hub๋ ์ด๋ฏธ์ง๋ฅผ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyM9qz%2FbtsIiqCDR7h%2F62NYVI6cyWW0j7QSAzpfkk%2Fimg.png)
1. ์๋ฒ ์ํฐํ๋ผ์ด์ฆ ์ด์ ํ๊ฒฝ์์ ๋ง์ ์์ ์๋ฒ๋ฅผ ์ด์ํด์ผ ํ๋ค.์ด๋ 3๊ฐ์ง ๋ฐฉ์์ด ์กด์ฌํ๋ค. ๋ฒ ์ด๋ฉํ, ํ์ดํผ๋ฐ์ด์ , ์ปจํ
์ด๋ํ๋์ฉ ์์๋ณด์๋ฒ ์ด๋ฉํ์ ์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์ปดํจํฐ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ ๋๊ฐ๋คํ์ดํผ๋ฐ์ด์ ๋ฅผ ์์๋ณด๊ธฐ ์ ์ ๊ฐ์ํ๋ฅผ ์์๋ณด์ 2. ๊ฐ์ํ ๊ฐ์ํ๋ ์ค์ ๋ก ์กด์ฌํ๋ ์ปดํจํฐ๊ฐ ์๋์ง๋ง ๋ง์น ์ปดํจํฐ๊ฐ ์กด์ฌํ๋ ๊ฒ์ฒ๋ผ ๋ง๋ค์ด์ค๋ค. ์ฆ, ํ๋์ ์ปดํจํฐ๋ก ์ฌ๋ฌ๋ ์ปดํจํฐ๋ฅผ ๊ฐ์ง๊ฒ์ฒ๋ผ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.๋ฌผ๋ฆฌ์ ์ธ ์ปดํจํฐ ์์ ๋
ผ๋ฆฌ์ ์ธ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ผ ๊ฐ์ํ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ญ๊ฐ ์ข์๊น?์๋ฅผ๋ค์ด OS 1๊ฐ์ 4๊ฐ์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ค๊ณ ํ์ ๋, ๋ฌธ์ ๊ฐ ์์ด๋ณด์ธ๋ค.ํ์ง๋ง, ํ ํ๋ก๊ทธ๋จ์์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด, ์ด๋ ์ ์ฒด์ ์ํฅ์ ์ค ์ ์๊ณ , ํ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋์ด ์ฆ๊ฐํด์ ๋จ์์๋ ๋ฆฌ์์ค๋ฅผ ..
๊ฐ๋ฐ์ ํ๋ฉด์ ๋์ปค๋ ํ์ฐ์ ์ผ๋ก ์ฌ์ฉํ ์ ๋ฐ์ ์์๊ณ , ์ด๋ฒ ๋ฐฉํ ๋ ์ ๋๋ก ๊ณต๋ถํด๋ณด๋ ค๊ณ ํ๋ค. ํ์ฌ ์๋ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์๊ณ , ๊ฐ์ฌ๋๊ป ํ๋ฝ์ ๋งก๊ณ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌ๊ธ์ ์ฌ๋ฆฌ๋ ค๊ณ ํ๋ค.https://inf.run/Apgvc ๊ฐ๋ฐ์๋ฅผ ์ํ ์ฌ์ด ๋์ปค ๊ฐ์ | ๋ฐ๋ธ์ํค - ์ธํ๋ฐ๋ฐ๋ธ์ํค | ํ์
๊ฐ๋ฐ์๊ฐ ๋์ปค๋ฅผ ์ฌ์ฉํ ๊ฒฝํ์ ๋
น์ฌ๋ธ ์๋ก์ด ์ปค๋ฆฌํ๋ผ์ผ๋ก ๊ธฐ์กด ๊ต์ฌ ๋ฐ ๊ฐ์์ ์ฐจ๋ณ๋ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋จ์ํ ๋ช
๋ น์ด ์ฌ์ฉ๋ฒ์ด ์๋ ๋์ปค๋ฅผ ์ ์ฌ์ฉํด์ผํ๋์ง ๋ํ ๊ทผwww.inflearn.com ์นดํ
๊ณ ๋ฆฌhttps://koreatstm.tistory.com/155
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdsNitR%2FbtsHnKHozff%2Ftas9HRmcPEEEL4CadNudK1%2Fimg.png)
1. ์ ํจ์ค ํ์ดํ๋ผ์ธ ์ค์ Dashboard > New Item > PipelineGithub project์ webhook ๋ฑ๋กํ repository URL ์
๋ ฅBuild Triggers > Github hook trigger for GITscm polling ์ฒดํฌ ํ์ดํ๋ผ์ธ ํฌ๊ฒ 3๋จ๊ณ๋ก ๋๋ ์ ์๋ค.Git Clone ๋จ๊ณGit ์ ์ฅ์์์ ์์ค ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ๋จ๊ณbranch ๊ฐ์ ธ์ฌ ๋ธ๋์น๋ฅผ ์ง์ credentialsId ์ฌ์ฉํ Git ์๊ฒฉ ์ฆ๋ช
์ ID๋ฅผ ์ง์ ํ๋ค. ์ฌ์ ์ Jenkins์์ ์ค์ ๋ ๊ฒurl ๊ฐ์ ธ์ฌ Git ์ ์ฅ์์ URL์ ์ง์ Build ๋จ๊ณGradle์ ์ฌ์ฉํ์ฌ ์์ค ์ฝ๋๋ฅผ ๋น๋ํ๋ ๋จ๊ณ./gradlew clean build ๋ช
๋ น์ ์คํํ์ฌ Gradle ๋น๋๋ฅผ ์ํDeploy ๋จ๊ณs..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFsyVv%2FbtsHl3oma8e%2FGaUbCaeVlhVbeXVJ87SEyK%2Fimg.png)
1. ์ ํจ์ค ํ๋ฌ๊ทธ์ธ ์ค์น 1)gradle๋ก ๋น๋ํ๊ธฐ์ํด gradle ๊ด๋ จ ํ๋ฌ๊ทธ์ธ ์ค์นDashboard > Manage Jenkins > Tools Gradle Installations > Version ์ ํ ํ๊ณ Save 2) SSH agent ํ๋ฌ๊ทธ์ธ ์ค์นSSH๋ฅผ ํตํด EC2 ์ธ์คํด์ค์ ์ ๊ทผํ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด SSH agent๋ฅผ ์ค์นํด์ผํ๋ค.Dashboard > Manage Jenkins > Plugins > Available pluginsAvailable plugins > SSH agent ๊ฒ์ > ์ค์น ์ค์น๊ฐ ์๋ฃ๋์๋ค.2. Repository WebHook ๋ฑ๋ก์ฌ์ฉ githubhttps://github.com/seongjju/opensource GitHub - seongjju/opensou..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ8Qbj%2FbtsHmRUXFdN%2F6vnnz8ximhy8JJiRweqyD1%2Fimg.png)
1. Jenkins ์ค์ EC2์ ํผ๋ธ๋ฆญ IP๋ฅผ ํตํด ์ธ๋ถ์์ ์ ์ํ๋ค. $ sudo docker logs jenkins์ด๋ jenkins์ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋๊ณ , ์ด๋ฅผ ํตํด ์ ํจ์ค๋ฅผ ์ต์ด๋ก ์ค์นํ๊ณ ์คํํ ๋ ํ์ํ initial admin password๋ฅผ ํ์ธ ํ ์ ์๋ค.๋๋ ์ง์ ์ ํจ์ค ์ปจํ
์ด๋์ ์ ์ํ์ฌ, ํ์ผ์ ๋ด์ฉ์ ์กฐํํ ์ ์๋ค.$ sudo docker exec -it jenkins /bin/bash$ cat /var/jenkins_home/secrets/initialAdminPassword install suggested plugins๋ฅผ ๋๋ฅธ๋ค.ํ๊ท ์ ์ผ๋ก 10๋ถ์ด๋ด์ ์๋ฃ๋๋ค.์ดํ admin ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๊ธฐ ์ํ ์ ๋ณด๋ฅผ ์
๋ ฅํด์ค๋ค.์๊ฒฉ ์ฃผ์๋ก Jenkins URL์ด ์ค์ ๋๊ฒ์ ํ์ธ ํ ์..