๐ก ๋ชจ๋ ์ธ์ด์ ์กฐํฉ๊ณผ ์ฝ๋ ๋ ํฌ์งํ ๋ฆฌ์ ๋ํ ์ง์์ ์ธ ํตํฉ(CI)๊ณผ ์ง์์ ๋ฐฐํฌ(CD) ํ๊ฒฝ์ ๊ตฌ์ถํ๊ธฐ ์ํ ๋๊ตฌ
Jenkins
- ๋น๋, ํ ์คํธ, ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ฌ ์ํํธ์จ์ด ํ์ง๊ณผ ๊ฐ๋ฐ ์์ฐ์ฑ์ ๋์ผ ์ ์์
- Java Runtime Environment์์ ๋์
- ์ผ๋ จ์ ์๋ํ ์์ ์ ์์๋ค์ ์งํฉ์ธ Pipeline์ ํตํด CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถ
์ฅ์
- ํ๋ก์ ํธ ํ์ค ์ปดํ์ผ ํ๊ฒฝ์์์ ์ปดํ์ผ ์ค๋ฅ ๊ฒ์ถ
- ์๋ํ ํ ์คํธ ์ํ : ์ ์ ์ฝ๋ ๋ถ์์ ์ํ ์ฝ๋ฉ ๊ท์ฝ ์ค์ ์ฌ๋ถ ์ฒดํฌ
- ํ๋กํ์ผ๋ง ํด์ ์ด์ฉํ ์์ค ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ์ฑ๋ฅ ๋ณํ ๊ฐ์
- ๊ฒฐํจ ํ ์คํธ ํ๊ฒฝ์ ๋ํ ๋ฐฐํฌ ์์
- ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ก์ Deloy(๋ฐฐํฌ) ๋ฑ ๊ฐ๋ตํ
๊ธฐ๋ฅ
- ๊ฐ์ข ๋ฐฐ์น ์์ ์ ๊ฐ๋ตํ (DB ์ ์ , ํ๊ฒฝ์ค์ , ๋ฐฐํฌ ๋ฑ)
- ๋น๋ ์๋ํ
- ์๋ํ ํ ์คํธ(์ฝ๋ ๋ณ๊ฒฝ์ ๊ฐ์งํ๊ณ ์๋ํ ํ ์คํธ ์ํ)
- ์ฝ๋ ํ์ค ์ค์ ์ฌ๋ถ ๊ฒ์ฌ
- ๋น๋ ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ(์ฌ๋ฌ ๋ชจ๋๋ก ์ด๋ฃจ์ด์ง ํ๋ก์ ํธ์ ์ ์ฉ)
CI/CD ๊ณผ์
- ๋ก์ปฌ์์ ๊ฐ๋ฐ ํ ๊นํ๋ธ๋ก ์ปค๋ฐ ๋ฐ ํธ์
- ์ ํจ์ค๊ฐ ์ด๋ฅผ ์ธ์งํ์ฌ ๋น๋ ๋ฐ ํ ์คํธ
- ๋น๋๊ฐ ์ฑ๊ณตํ ๊ฒฝ์ฐ ๋ฐฐํฌ ์๋ฒ๋ก ์ ์ก
- ๋น๋๊ฐ ์คํจํ ๊ฒฝ์ฐ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๊ณ ์๋ฆผ
Jenkins Plugins
- Credentials Plugin
- AWS token, Git access token, secret key, ssh(username, password) ๋ฑ์ ์ ๋ณด๋ค์ ์ ์ฅํ ๋ ์ฌ์ฉ
- ์์ ๊ฐ์ด ์ค์ํ ์ ๋ณด๋ค์ ์ ์ฅํด์ฃผ๋ ํ๋ฌ๊ทธ์ธ
- Git Plugin
- jenkins์์ git์ ๋ํ ์์ค์ฝ๋๋ฅผ ๊ธ์ด์์ ๋น๋ํ ์ ์๋๋ก ๋์์ค
- Pipeline
- Docker plugin and Docker Pipeline
- Docker agent๋ฅผ ์ฌ์ฉํ๊ณ jenkins์์ ๋์ปค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ํ๋ฌ๊ทธ์ธ
Jenkins ํ์ดํ๋ผ์ธ
1. Pipeline
- CI/CD ํ์ดํ๋ผ์ธ์ ์ ํจ์ค์ ๊ตฌํํ๊ธฐ ์ํ ์ผ๋ จ์ ํ๋ฌ๊ทธ์ธ๋ค์ ์งํฉ์ด์ ๊ตฌ์ฑ
- ์ฌ๋ฌ ํ๋ฌ๊ทธ์ธ๋ค์ ์ด ํ์ดํ๋ผ์ธ์์ ์ฉ๋์ ๋ง๊ฒ ์ฌ์ฉํ๊ณ ์ ์ํจ์ผ๋ก์จ ํ์ดํ๋ผ์ธ์ ํตํ ์๋น์ค๊ฐ ๋ฐฐํฌ๋จ
- Pipeline DSL(Domain Specific Langage)๋ก ์์ฑ๋จ
- ์ ํจ์ค๊ฐ ๋์๋๊ธฐ ์ํด์๋ ์ฌ๋ฌ ํ๋ฌ๊ทธ์ธ๋ค์ด ํ์ดํ๋ผ์ธ์ ํตํด ํ๋ฌ๊ฐ๋ ๊ณผ์
2. Pipeline์ ๊ตฌ์ฑํ๋ ์์
- Declarative (๋ ์ต์ ์ด๊ณ ๊ฐ๋
์ฑ์ด ์ข์)
- Environ ment ( ํ์ดํ๋ผ์ธ ๋ฐ stage scope์ ํ๊ฒฝ๋ณ์ ์ค์ )
- Parameter (ํ์ดํ๋ผ์ธ ์คํ ์์ ๋ฐ์ ํ๋ผ๋ฏธํฐ)
- Triggers (์ด๋ค ํํ๋ก ํธ๋ฆฌ๊ฑฐ ๋๋์ง ์ ์)
- When (์ธ์ ์คํ๋๋์ง ์ ์)
- Scripted Pipeline
3. Pipeline์ Section์ ๊ตฌ์ฑ
- Sections (๊ฐ์ฅ ํฐ ๊ฐ๋
)
- Agent section
- ์ฌ๋ฌ slave๋ฅผ ๋๊ณ ์์ ํ ๋ ์ด๋ค ์ ํจ์ค๊ฐ ์ด๋ค ์ผ์ ํ ์ง ์ ์
- Post section
- ๊ฐ ์คํ ์ด์ง๊ฐ ๋๋ ํ ํ์ ์กฐ์น ์ค์
- ex) Success / failure / always / cleanup
- State section
- ์ด๋ค ์ผ๋ค์ ์ฒ๋ฆฌํ ๊ฒ์ธ์ง์ ๋ํ Stage ์ ์
- ์ผ์ข ์ ์นดํ ๊ณ ๋ฆฌ
- Steps section
- ์คํํ ์์ ์ ์
- Agent section
'๊ธฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ๋ํ] K-GEO festa (0) | 2024.11.12 |
---|---|
[์ฟ ๋ฒ๋คํฐ์ค] ์ฟ ๋ฒ๋คํฐ์ค๋? (0) | 2024.06.13 |
[Docker] Docker๋? (0) | 2024.06.13 |
[CI/CD] CI/CD๋? (0) | 2023.08.16 |
[MSA] MSA๋? (0) | 2023.08.16 |