๐ฑ Develop/devOps(9)
-
Jenkins sudo: not found Build step 'Execute shell' marked build as failure ๊ถํ ์๋ฌ ํด๊ฒฐํ๊ธฐ
Jenkins๋ก docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ hub์ ํธ์ํ๋ ๊ณผ์ ์ .sh ํ์ผ ํ๋๋ฅผ ์คํํด์ ํ๊บผ๋ฒ์ ์ํํ๋ ค๊ณ ํฉ๋๋ค. ํ์ง๋ง Jenkins๊ฐ ec2 ์๋ฒ์์ sudo ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ค๋ฉด, Jenkins์๊ฒ ๋ฐ๋ก ๊ถํ์ ์ค์ผํฉ๋๋ค. ๊ถํ์ ์ฃผ์ง ์๊ณ ๋น๋ํ๋ฉด sudo: not found Build step 'Execute shell' marked build as failure ๊ฐ์ ์๋ฌ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋์ root ๊ณ์ ์ผ๋ก ๋ค์ด๊ฐ์ /etc/sudoers ํ์ผ์ ์์ ํด์ค์๋ค. su # ๋ฃจํธ ๊ณ์ ์ผ๋ก ์ ์ํ๊ธฐ, password ๋ฅผ ๋ชจ๋ฅธ๋ค๋ฉด ์ด๊ธฐ ์ค์ ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. cd /etc # etc ํด๋๋ก ๋ค์ด๊ฐ์ vi sudoers # root ๊ถํ์ผ๋ก sudoers ํ์ผ ์ด๊ธฐ sudoers ํ์ผ๋ก ๋ค์ด๊ฐ..
2021.04.30 -
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(5) : ์ฌ๋์ผ๋ก Jenkins ์๋ฆผ ๋ฐ๊ธฐ
์ด์ Jenkins์ github์ ์ฐ๋ํ๊ณ , springboot๋ฅผ ๋น๋ํ์ผ๋ฉฐ, ์ด๋ฅผ docker ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด hub์ pushํ๋ ๊ณผ์ ๊น์ง ๋ชจ๋ ๋ง์ณค์ต๋๋ค. ๐ช ์ด๋ ๊ฒ Jenkins์๊ฒ ๊ฐ๋ฐ์๊ฐ ํด์ผํ๋ ์ผ์ ๋๋ ์ฃผ๊ณ ๋๋, ์ผ์ ์ํ๊ณ ์๋์ง, ์๋ฌ๋ ๋์ง ์๋์ง ๋ถ์ํด์ก์ต๋๋ค. ์์๋ก ๋ค์ด๊ฐ์ ํ์ธํ ์๋ ์๋ ๋ ธ๋ฆ์ด๋ Jenkins๊ฐ ์ผ์ ์ ํ๊ณ ์๋์ง ์๋ฆผ์ ๋ฐ์ ๋ณด๊ฒ ์ต๋๋ค. 1๏ธโฃ ์ฌ๋์ Jenkins CI ์ค์น ์ฑ์์ Jenkins CI๋ฅผ ๊ฒ์ํด์ jenkins ์๋ฆผ์ ๋ฐ์ ์ฑ๋์ ์ค์ ํฉ๋๋ค. ์ฑ ์ถ๊ฐ๋ฅผ ๋๋ฅด๋ฉด, Jenkins์ ์ฌ๋ ์๋ฆผ์ ์ถ๊ฐํ๊ธฐ ์ํ ๋จ๊ณ๋ค์ด ์์ธํ๊ฒ ์ค๋ช ๋์ด์์ต๋๋ค. ๋ณธ ํ์ด์ง์์๋ ํ ํฐ์ ๋ณต์ฌํด์ ์ ๋ณด๊ดํด๋๋ฉด ๋ฉ๋๋ค. 2๏ธโฃ ์ฌ๋ ํ๋ฌ๊ทธ์ธ ๋ค์ด๋ก๋, ์ฌ๋ ํ ํฐ..
2021.04.30 -
EC2 ํ๋ฆฌํฐ์ด์์ Jenkins๊ฐ ๋์๊ฐ์ง ์๋ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ
โ๏ธ์ ํ๋ฆฌํฐ์ด ์ฌ์์ด ์ฝ๋ฑ์ง๋ค~! ๐ฅฒ ํ๋ฆฌํฐ์ด ๊ณ์ ์ ๋จ์ด 1GB์ ๋๋ค. jenkins๋ฅผ ๋๋ฆฌ๊ธฐ์ ๋งค์ฐ ๋์ฝ๋์ฝํ.....๋์ฝํ.....๊ทธ๋์ ์ฒ์์ jenkins ์ค์ ์ ์ธํ ํ๊ณ ๋น๋๋ฅผ ํ๋๋ฐ ec2 ํฐ๋ฏธ๋์ด ๋จนํต์ด ๋๋๋ ์๋ฌด๊ฒ๋ ๋์ง ์์์ต๋๋ค. ec2๋ฅผ ๊ป๋ค ์ผ๋๊น ๋๊ธธ๋ ๋ค์ ๋น๋ํ๋๋ ๋ค์ ๋จนํต์ด์๊ณ , ์ฒ์์๋ ์ธ๋ฐ์ด๋ ๊ท์น๋๋ฌธ์ธ๊ฐ ํด์ ์์น ๋ฌด๊ด์ผ๋ก๋ ๋ฐ๊ฟ๋ดค๋๋ฐ ํด๊ฒฐ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ค๊ฐ ์ฐ์ฐํ cpu ์ฌ์ฉ๋์ ๋ณด๊ฒ ๋์๋๋ฐ ๊ทธ๋ํ๊ฐ ๋ ๋ฐ๊ณ ์์ด์ ์ด์์ ๋จ๊ฒจ๋์์ต๋๋ค. ํ์ง๋ง ๋์ด ์๋ ํ์์ Jenkins ํ๋๋ฅผ ์ฐ๊ธฐ ์ํด ๋์ ์ง๋ถํ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ ๋ฐํ๊ฒ ๋ง์ ๊ฒ์์ ํ ๊ฒฐ๊ณผ, swap ์ผ๋ก ํด๊ฒฐํ ์ ์์์ต๋๋ค. SWAP ๋ฉ๋ชจ๋ฆฌโ RAM์ด ๋ถ์กฑํ ๊ฒฝ์ฐ, HDD์ ๊ณต๊ฐ์ ..
2021.04.30 -
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(3) : Jenkins gradle ์์ดํ ์์ฑ ๋ฐ ์ค์ ํ๊ธฐ
1๏ธโฃ ์์ดํ ์์ฑ, ์ค์ ํ๊ธฐ ์ด์ ํฌ์คํ ์์ ์์ดํ ์ ๋ง๋ค๊ธฐ ์ํ ์ฌ์ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค. ์ด์ ์๋ก์ด item์ ๋๋ฌ์ ์์ดํ ์ ๋ง๋ค์ด๋ด ์๋ค. freestyle project๋ก ์ํ๋ ์ด๋ฆ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋ค, ์์ค ๊ด๋ฆฌ์์ ์๊น Credential์ ์ถ๊ฐํ ๊นํ ํค๋ฅผ ์ ์ฉํด์ค๋๋ค. 1๋ฒ์งธ ๋ฐฉ์์ธ ๊นํ๋ธ ์์ด๋/๋น๋ฒ ์ ๋ ฅ ๋์ ssh ํค๋ก ์ธ์ฆํ๋ ๊ฒ์ ๋๋ค. ์ ๋ master ๋ธ๋์น์ push ํ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ๋น๋ํ๋๋ก ์ค์ ํด๋์์ต๋๋ค. Build Invoke Gradle script๋ฅผ ์ ํํ๊ณ gradle ๋ฒ์ ์ ์ด์ ํฌ์คํ ์์ ๋ฏธ๋ฆฌ ์ ์ฅํ gradle๋ก ์ค์ ํด์ค๋๋ค. 2๏ธโฃ ๋น๋ ํ ์คํธํด๋ณด๊ธฐ ์ด์ ๋์๋ณด๋๋ก ๋ค์ด๊ฐ์ Build Now ๋ฅผ ํ๊ณ ์ฝ์ ์ถ๋ ฅ์์ success๋ฅผ ํ์ธํด๋ด ..
2021.04.30 -
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(4) : Jenkins์์ ๋์ปค ์ด๋ฏธ์ง ๋ฐฐํฌํ๊ธฐ
1. Dockerfile, docker ๋ฐฐํฌ ํ์ผ ์ค๋นํ๊ธฐ 2. Jenkins์์ ssh ์ค์ ํ๊ธฐ 3. Jenkins ๊ถํ ์ค์ ํ๊ธฐ ์๋๋ github ์ฌ๋ฆผ โ Jenkins์์ github์ ์ฌ๋ผ์์๋ springboot ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ธ์์ ๋น๋ โ ๋ฉ์ธ ์๋ฒ์ .jar ํํ๋ก ํ์ผ์ ์ ์ก โ ์คํ ์ ํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์จ์ผํ์ง๋ง, ์ ๋ springboot ์๋ฒ๋ฅผ docker ์ปจํ ์ด๋์์ ์คํํ ๊ฒ์ด๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ํ๋ก์ฐ๋ก ๊ฐ๋ ค๊ณ ํฉ๋๋ค. github ์ฌ๋ฆผ โ Jenkins์์ github์ ์ฌ๋ผ์์๋ springboot ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ธ์์ ๋น๋ โ jenkins ์ปจํ ์ด๋์์ ์ด๋ฏธ์ง๋ก ๋น๋ํด์ ๋์ปค hub์ push โ ๋ฉ์ธ ์๋ฒ์์๋ docker image๋ฅผ ๋ฐ์์ ์ปจํ ์ด๋ ์คํ ์ฐธ๊ณ ..
2021.04.30 -
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(2) : Jenkins์ Github ์ฐ๋ํ๊ธฐ
์ด์ ec2์ jenkins๋ฅผ ์ธ ์ ์๋ ์ค๋น๋ฅผ ์๋ฃํ์ผ๋, ์ด์ ๋ github๊ณผ Jenkins๋ฅผ ์ฐ๊ฒฐํด๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. github ์์ด๋/๋น๋ฐ๋ฒํธ๋ก ์ ์ ec2 ssh ๊ณต๊ฐํค/๋น๋ฐํค๋ก ์ ์ ์ฌ๊ธฐ์๋ ๋ณด์ ์์ ์ด์ ๋ก ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ธ ssh๋ก ์ฐ๊ฒฐํ๊ฒ ์ต๋๋ค. ์ฐ๋ํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1. EC2์์ ssh ํค ์์ฑ 2. Github์์ ssh ํค, webhook ๋ฑ๋ก 3. Jenkins์ Credential ssh ํค ๋ฑ๋ก 4. Gradle ๋ฒ์ ์ค์ ํ๊ธฐ 1๏ธโฃ EC2 ssh ํค ์์ฑํ๊ธฐ docker-compose ๋ฅผ ์คํํ๊ณ ๋์ ls -a ๋ก ํด๋๋ฅผ ๋ณด๋ฉด .ssh๊ฐ ์์ฑ๋์ด ์์ต๋๋ค. .ssh ํด๋๋ก ๋ค์ด๊ฐ์ ssh ํค๋ฅผ ์์ฑํด์ฃผ๋ ๋ช ๋ น์ด๋ฅผ ์คํํด์ฃผ์ธ์...
2021.04.30