[Jenkins] ์  ํ‚จ์Šค๋ž€?

2023. 8. 16. 15:51ยท๊ธฐํƒ€

๐Ÿ’ก ๋ชจ๋“  ์–ธ์–ด์˜ ์กฐํ•ฉ๊ณผ ์ฝ”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ง€์†์ ์ธ ํ†ตํ•ฉ(CI)๊ณผ ์ง€์†์  ๋ฐฐํฌ(CD) ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ

Jenkins

  • ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ๊ณผ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ
  • Java Runtime Environment์—์„œ ๋™์ž‘
  • ์ผ๋ จ์˜ ์ž๋™ํ™” ์ž‘์—…์˜ ์ˆœ์„œ๋“ค์˜ ์ง‘ํ•ฉ์ธ Pipeline์„ ํ†ตํ•ด CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•

์žฅ์ 

  • ํ”„๋กœ์ ํŠธ ํ‘œ์ค€ ์ปดํŒŒ์ผ ํ™˜๊ฒฝ์—์„œ์˜ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ๊ฒ€์ถœ
  • ์ž๋™ํ™” ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰ : ์ •์  ์ฝ”๋“œ ๋ถ„์„์— ์˜ํ•œ ์ฝ”๋”ฉ ๊ทœ์•ฝ ์ค€์ˆ˜ ์—ฌ๋ถ€ ์ฒดํฌ
  • ํ”„๋กœํŒŒ์ผ๋ง ํˆด์„ ์ด์šฉํ•œ ์†Œ์Šค ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ๋ณ€ํ™” ๊ฐ์‹œ
  • ๊ฒฐํ•จ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋ฐฐํฌ ์ž‘์—…
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋กœ์˜ Deloy(๋ฐฐํฌ) ๋“ฑ ๊ฐ„๋žตํ™”

๊ธฐ๋Šฅ

  • ๊ฐ์ข… ๋ฐฐ์น˜ ์ž‘์—…์˜ ๊ฐ„๋žตํ™” (DB ์…‹์—…, ํ™˜๊ฒฝ์„ค์ •, ๋ฐฐํฌ ๋“ฑ)
  • ๋นŒ๋“œ ์ž๋™ํ™”
  • ์ž๋™ํ™” ํ…Œ์ŠคํŠธ(์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•˜๊ณ  ์ž๋™ํ™” ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰)
  • ์ฝ”๋“œ ํ‘œ์ค€ ์ค€์ˆ˜ ์—ฌ๋ถ€ ๊ฒ€์‚ฌ
  • ๋นŒ๋“œ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ(์—ฌ๋Ÿฌ ๋ชจ๋“ˆ๋กœ ์ด๋ฃจ์–ด์ง„ ํ”„๋กœ์ ํŠธ์— ์œ ์šฉ)

CI/CD ๊ณผ์ •

  1. ๋กœ์ปฌ์—์„œ ๊ฐœ๋ฐœ ํ›„ ๊นƒํ—ˆ๋ธŒ๋กœ ์ปค๋ฐ‹ ๋ฐ ํ‘ธ์‹œ
  2. ์  ํ‚จ์Šค๊ฐ€ ์ด๋ฅผ ์ธ์ง€ํ•˜์—ฌ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ
  3. ๋นŒ๋“œ๊ฐ€ ์„ฑ๊ณตํ•  ๊ฒฝ์šฐ ๋ฐฐํฌ ์„œ๋ฒ„๋กœ ์ „์†ก
  4. ๋นŒ๋“œ๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๊ณ  ์•Œ๋ฆผ

 

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
      • ์‹คํ–‰ํ•  ์ž‘์—… ์ •์˜
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๊ธฐํƒ€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐ•๋žŒํšŒ] 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
'๊ธฐํƒ€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ฟ ๋ฒ„๋„คํ‹ฐ์Šค] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ž€?
  • [Docker] Docker๋ž€?
  • [CI/CD] CI/CD๋ž€?
  • [MSA] MSA๋ž€?
woojin._.
woojin._.
์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๋ฉฐ ๋ฐœ์ƒํ•˜๋Š” ์ด์•ผ๊ธฐ๋“ค์— ๋Œ€ํ•œ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (829)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • ์Šคํ”„๋ง ๋ถ€ํŠธ ์‡ผํ•‘๋ชฐ ํ”„๋กœ์ ํŠธ with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • ๋ฆฌ๋ˆ…์Šค (7)
        • AWS (7)
      • Coding Test (445)
        • ๋ฐฑ์ค€[JAVA] (108)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JAVA] (260)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ ๋“์  Kit[JAVA] (3)
        • SQL ๊ณ ๋“์  Kit[ORACLE] (74)
      • CS ์ง€์‹ (49)
        • [์ž๋ฃŒ๊ตฌ์กฐ] (14)
        • [๋„คํŠธ์›Œํฌ] (12)
        • [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] (10)
        • [์•Œ๊ณ ๋ฆฌ์ฆ˜] (9)
        • [์šด์˜์ฒด์ œ] (4)
      • ๊ธฐํƒ€ (6)
      • ์ž๊ฒฉ์ฆ & ๊ณต๋ถ€ (62)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (2)
        • SQLD (6)
        • ๋„คํŠธ์›Œํฌ๊ด€๋ฆฌ์‚ฌ 2๊ธ‰ (5)
        • ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 1๊ธ‰ (44)
        • ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰ (1)
        • ISTQB (3)
        • ์‹œ์Šคํ…œ๋ณด์•ˆ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    backjoon
    Flutter
    ๋ฐ์ดํ„ฐ
    postgresql
    CS
    programmers
    DB
    ์‹œํ๋ฆฌํ‹ฐ
    baekjoon
    spring
    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 1๊ธ‰
    ํ”Œ๋Ÿฌํ„ฐ
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    Linux
    ์Šคํ”„๋ง ๋ถ€ํŠธ ์‡ผํ•‘๋ชฐ ํ”„๋กœ์ ํŠธ with JPA
    CS์ง€์‹
    Spring Security
    springboot
    JPA
    Java
    ๋ฆฌ๋ˆ…์Šค
    python
    pcce ๊ธฐ์ถœ๋ฌธ์ œ
    ์Šคํ”„๋ง๋ถ€ํŠธ
    ์ž๋ฐ”
    ์Šคํ”„๋ง
    ๋ฐฑ์ค€
    Oracle
  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
woojin._.
[Jenkins] ์  ํ‚จ์Šค๋ž€?
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”