Jenkins ์™€ bamboo ํŠน์ง• ๋ฐ ์žฅ๋‹จ์  ๋น„๊ต
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋””์ง€ํ„ธ ๊ฟ€ํŒ

Jenkins ์™€ bamboo ํŠน์ง• ๋ฐ ์žฅ๋‹จ์  ๋น„๊ต

by ์ผ์ƒ์„ ๊ณต์œ ํ•จ๋‹ˆ๋‹ค 2022. 5. 28.

๊ฐœ์š”

๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ผ๊ฒƒ์œผ๋กœ ์ง์ž‘๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ Continuous Integration ์†”๋ฃจ์…˜์ธ ์  ํ‚จ์Šค์™€ ๋ฑ€๋ถ€์˜ ํŠน์ง• ๋ฐ ์žฅ๋‹จ์ ์„ ๊ทธ๊ฐ„ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์— ๋น„์ถ”์–ด ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. ์•„์ง CI ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋„์ž…ํ•  ๊ณ„ํš์ด ์žˆ๋‹ค๋ฉด ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ž€๋‹ค.

Hudson ์€ ์˜ค๋ผํด ์ธ์ˆ˜ํ›„ ์ง€์†์ ์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์ค„๊ณ  ์žˆ๋Š” ๋“ฏ ํ•˜๊ณ  ์œ„ ๋‘๊ฐœ์™ธ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์€ ์ œ๋Œ€๋กœ ์จ ๋ณธ์ ์ด ์—†์œผ๋ฏ€๋กœ ์ •๋ฆฌํ•  ๋Šฅ๋ ฅ์ด ์—†๋‹ค.

 ๋‘˜ ๋‹ค CI ์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์ด ์ถฉ์‹คํ•˜๋‹ˆ ์ผ๋ฐ˜์ ์ธ CI ์˜ ๊ธฐ๋Šฅ(์ž๋™ํ™” ๋นŒ๋“œ, ์ž๋™ํ™” ํ…Œ์ŠคํŠธ ๋ฐ ํ†ต์ง€, ์ปค๋ฒ„๋ฆฌ์ง€ ๊ฐ์‹œ๋“ฑ)์€ ์ œ์™ธํ•˜์˜€๋‹ค. 

 

๊ฒฐ๋ก 

  1. CI ๋ฅผ ์•„์ง ๋„์ž…ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋‹น์žฅ jenkins ๋ถ€ํ„ฐ ๋„์ž…ํ•˜๋Š”๊ฑธ ์ถ”์ฒœํ•œ๋‹ค.
  2. ์˜ˆ์‚ฐ์ด ์žˆ๊ณ  ๊ธฐ์กด์— atlassian ์ œํ’ˆ์„ ์“ฐ๊ณ  ์žˆ์—ˆ๋‹ค๋ฉด bamboo ๋„ ์ข‹์€ ์„ ํƒ์ด๋‹ค. bamboo ๋Š” jenkins project ๋ฅผ import ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฏ€๋กœ migration ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. jenkins ์— ๋น„ํ•ด ๋น„์šฉ์ด ๋“ค๊ฒ ์ง€๋งŒ ๊ทธ๋งŒํ•œ ๊ฐ€์น˜๋Š” ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

 


Jenkins

์žฅ์ 

  1. ๋ฌด๋ฃŒ์ด๊ณ  Reference ๋ฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ๊ณ  ์ •๋ณด๊ฐ€ ๋งŽ์€ ํŽธ์ด๋‹ค. (openstack์˜ CI ์—๋„ ์ ์šฉ๋˜์–ด ์žˆ๋‹ค.- https://jenkins.openstack.org/)
  2. Hudson core ๊ฐœ๋ฐœ์ž๊ฐ€ jenkins ๋ฅผ ์‹œ์ž‘ํ–ˆ๊ณ  ์ฃผ์š” ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐœ๋ฐœ์ž๋„ jenkins ๋กœ ์ „ํ™˜ํ•ด์„œ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์›์ด ์ข‹์€ ํŽธ์ด๋‹ค.
  3. ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ์ด ๊ฐ„๋‹จํ•˜๋‹ค. ์‹ค์ œ๋กœ maven ์œผ๋กœ build ๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๋ฉด jenkins ์„ค์น˜ํ›„ project ๋งŒ๋“œ๋Š”๋ฐ ์–ผ๋งˆ ์•ˆ ๊ฑธ๋ฆฐ๋‹ค.
  4. Remote Access API ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์—์„œ ์—ฐ๊ณ„ํ•˜์—ฌ ๊ธฐ๋Šฅ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹จ์ 

  1. ํ”„๋กœ์ ํŠธ ๋ณ„ ๋ณด์•ˆ ๋ฐ ๊ถŒํ•œ ์„ค์ •๋“ฑ์ด ๋ถˆํŽธํ•˜๋‹ค. (bamboo ์— ๋น„ํ•ด)
  2. JIRA๋‚˜ redmine ๋“ฑ Issue tracking ๊ณผ ์—ฐ๊ณ„๊ฐ€ ๋ถˆํŽธํ•˜๊ฑฐ๋‚˜ ์™„๋ฒฝํ•˜์ง€ ์•Š๋‹ค.

 

๋ฐ˜์‘ํ˜•

 

 

Bamboo

์žฅ์ 

  1. ์†์‰ฝ๊ณ  ์ง๊ด€์ ์ธ UI๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ณ  ์ƒ์šฉ SW ์— ๊ฑธ๋งž๊ฒŒ ์˜ˆ์œ ์™ธ์–‘์„ ์ž๋ž‘ํ•œ๋‹ค.
  2. atlassian ์ œํ’ˆ๊ตฐ๊ณผ ์™„๋ฒฝํ•œ ํ†ตํ•ฉ ์ œ๊ณต. JIRA ์˜ ๋Œ€์‰ฌ๋ณด๋“œ๋‚˜ confluence์˜ Page์— bamboo build chart ๋ฅผ ๋ถ™์ผ์ˆ˜๋„ ์žˆ๊ณ  JIRA ์˜ ํŠน์ • ์ด์Šˆ์™€ ๊ด€๋ จ๋œ build ๋‚ด์—ญ์„ ์กฐํšŒํ•˜๋Š” ๋“ฑ atlassian ์ œํ’ˆ์„ ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๊ฐ ์ œํ’ˆ๊ตฐ์„ ํ†ตํ•ฉํ•ด์„œ ๋”์šฑ ์œ ๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. MS์˜ Visual Studio, Mac OSX ์˜ XCode ๋“ฑ Java ์ด์™ธ์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ง€์›ํ•œ๋‹ค. ( Visual Studio ์ง€์›์€ ์•„์ง ๊ทธ๋ฆฌ ์ž˜ ๋Œ์•„๊ฐ€์ง€ ์•Š๊ณ  ๋ณต์žกํ•ด์„œ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ์ข€ ๊ฑฐ์ณ์•ผ ํ•˜๊ณ  ์จ๋ณธ ๊ฒฝํ—˜์ƒ bamboo ์— ๋ถ™์ด๋Š”๊ฑด ๊ทธ๋ฆฌ ์ถ”์ฒœํ•˜์ง€ ์•Š๋Š”๋‹ค.)
  4. Jenkins ์— ๋น„ํ•ด ํ”„๋กœ์ ํŠธ ๊ถŒํ•œ ์„ค์ •์ด๋‚˜ ๋ถ„์‚ฐ ๋นŒ๋“œ๊ฐ€ ์•„์ฃผ ๊ฐ„ํŽธํ•˜๋‹ค.
  5. Remote Access API ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์—์„œ ์—ฐ๊ณ„ํ•˜์—ฌ ๊ธฐ๋Šฅ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋‹จ์ 

  1. ์ œ๋ฒ• ๋น„์‹ผ ๋น„์šฉ์ด ๋ฐœ์ƒํ•œ๋‹ค.  (build ๋ฅผ ํ• ์ˆ˜ ์žˆ๋Š” remote agent ์ˆ˜ ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค ๋น„์šฉ์ด ์ฑ…์ •๋˜๋Š”๋ฐ 5 remote agent ๊ฐ€ $2,200 ์ด๋‹ค. 1๋…„ํ›„๋งˆ๋‹ค ๋งค๋…„ ๊ตฌ์ž…๊ฐ€์˜ 50% subscription ๋น„์šฉ ์ถ”๊ฐ€ ๋ฐœ์ƒ.)
  2. Project, Plan, Stage, Task ์˜ ๊ฐœ๋…์ด ๋ณต์žกํ•ด์„œ ์ต์ˆ™ํ•ด์ง€๊ณ  ์ œ๋Œ€๋กœ ์“ฐ๋ ค๋ฉด ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.

 

์ถœ์ฒ˜ : Software Architect (https://www.lesstif.com/)

๋Œ“๊ธ€