๋นŒ๋“œ ์ž๋™ํ™” ๋„๊ตฌ

์†Œ์Šค์ฝ”๋“œ ํŒŒ์ผ๋“ค์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์— ํ•„์š”ํ•œ ๋„๊ตฌ

  • Ant 
    • ์•„ํŒŒ์น˜ ์žฌ๋‹จ ๊ฐœ๋ฐœ, XML ๊ธฐ๋ฐ˜์˜ ๋นŒ๋“œ ์Šคํฌ๋ฆฝ์Šค ์‚ฌ์šฉ
  • Maven
    • Ant ๋Œ€์•ˆ, ์ž๋™์œผ๋กœ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ๋“ค์„ ๋ถˆ๋Ÿฌ์˜ด
  • Gradle (๊ทธ๋ž˜๋“ค)
    • ์ž‘์—…์˜ ์ตœ์†Œ๋‹จ์œ„์ธ Task๋กœ ์‹คํ–‰, Groovy๋ฅผ ๊ธฐ๋ฐ˜, ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ๊ณต์‹ ๋นŒ๋“œ ์‹œ์Šคํ…œ
  • Jenkins (์  ํ‚จ์Šค)
    • ์ž๋ฐ”๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค, ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ
    • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์‹œ ์ง€์†์  ํ†ตํ•ฉ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํˆด

์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „๊ด€๋ฆฌ

SW ๊ฐœ๋ฐœ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ฝ”๋“œ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๊ด€๋ จ ๋ฌธ์„œ ๋“ฑ ์‹œ๊ฐ„์˜ ๋ณ€ํ™”์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ™œ๋™

 

  • Repository - ํŒŒ์ผ์˜ ํ˜„์žฌ ๋ฒ„์ „๊ณผ ๋ณ€๊ฒฝ ์ด๋ ฅ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์ €์žฅ์†Œ
  • Import - ๋ฒ„์ „ ๊ด€๋ฆฌ ๋˜์ง€ ์•Š์€ ๋กœ์ปฌ ๋””๋ ‰ํ† ๋ฆฌ ํŒŒ์ผ์„ ์ฒ˜์Œ์œผ๋กœ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ์— ๋ณต์‚ฌ
  • Check-out - ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ ํŒŒ์ผ ๋ฐ›๊ธฐ
  • Check-in - ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ์— ์ƒˆ๋กœ์šด ๋ฒ„์ „์œผ๋กœ ๊ฐฑ์‹ 
  • Commit - ์ฒดํฌ์ธ ์‹œ ์ด์ „ ๊ฐฑ์‹  ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ถฉ๋Œ ์•Œ๋ฆผ, diff  ๋„๊ตฌ ์ด์šฉ ์ˆ˜์ •

๋ฒ„์ „๊ด€๋ฆฌ ๋„๊ตฌ ์œ ํ˜•

  • CVS - ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๋‹ค์ˆ˜์˜ ์ธ์›์ด ๋™์‹œ์— ๋ฒ”์šฉ์ ์ธ ์šด์˜์ฒด์ œ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜์—ฌ ๋ฒ„์ „๊ด€๋ฆฌ
  • SVN - GNU์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ ์—…๊ณ„ ํ‘œ์ค€
  • RCS - ์ˆ˜์ •์„ ํ•œ ์‚ฌ๋žŒ๋งŒ์œผ๋กœ ์ œํ•œ, ๋‹ค์ˆ˜์˜ ์‚ฌ๋žŒ์ด ๋™์‹œ์— ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋„๋ก ํŒŒ์ผ์„ ์ž ๊ธˆ
  • Bitkeeper - SVN๊ณผ ๋น„์Šทํ•œ ์ค‘์•™ ํ†ต์ œ ๋ฐฉ์‹์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ๋กœ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ ๋น ๋ฆ„
  • Git - ํ˜„์žฌ์˜ ๋ฆฌ๋ˆ…์Šค ๋ฒ„์ „ ์ปจํŠธ๋กค ๋ฐฉ์‹, SVN๊ณผ ๋‹ค๋ฅด๊ฒŒ Commit์€ ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์ด๋ค„์ง€๊ณ  push๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ €์žฅ๋จ
    • Git์˜ ์ž‘์—… ํด๋”๋Š” ๋ชจ๋‘ ์ „์ฒด ๊ธฐ๋ก๊ณผ ๊ฐ ๊ธฐ๋ก์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ์™„์ „ํ•œ ํ˜•ํƒœ์˜ ์ €์žฅ์†Œ
    • ๋„คํŠธ์›Œํฌ๋‚˜ ์ค‘์•™ ์„œ๋ฒ„์— ์˜์กดํ•˜์ง€ ์•Š์Œ
  • Clear Case - IBM ์ œ์ž‘, ๋ณต์ˆ˜ ์„œ๋ฒ„์™€ ๋ณต์ˆ˜ ํด๋ผ์ด์–ธํŠธ ๊ตฌ์กฐ

ํ˜•์ƒ๊ด€๋ฆฌ (SCM : Software Configuration Management)

์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์‚ฐ์ถœ๋ฌผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฒ„์ „ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ํ™œ๋™

(ํ”„๋กœ์ ํŠธ ์ƒ๋ช…์ฃผ๊ธฐ์˜ ์ „ ๋‹จ๊ณ„์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ํ™œ๋™, ์œ ์ง€ ๋ณด์ˆ˜ ๋‹จ๊ณ„์—์„œ๋„ ์ˆ˜ํ–‰๋˜๋Š” ํ™œ๋™)

 

* ๋ฒ ์ด์Šค๋ผ์ธ - ํ˜•์ƒ ํ•ญ๋ชฉ์ด ํ•˜๋‚˜์˜ ์™„์„ฑ๋œ ์‚ฐ์ถœ๋ฌผ๋กœ์จ ์ฑ…์ž„์žˆ๋Š” ๊ธฐ๊ด€์ด๋‚˜ ๊ด€๋ฆฌ์ฃผ์ฒด์— ์˜ํ•ด ๊ณต์‹์ ์œผ๋กœ ์Šน์ธ๋œ ์ƒํƒœ

  1. ํ˜•์ƒ ์‹๋ณ„ 
    ํ˜•์ƒ๊ด€๋ฆฌ ๋Œ€์ƒ์„ ์‹๋ณ„ํ•˜์—ฌ ์ด๋ฆ„๊ณผ ๊ด€๋ฆฌ ๋ฒˆํ˜ธ ๋ถ€์—ฌ, ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ˆ˜์ • ๋ฐ ์ถ”์ •์ด ์šฉ์ดํ•˜๋„๋ก ํ•˜๋Š” ๋ฒ ์ด์Šค๋ผ์ธ ๊ธฐ์ค‘ ์ •๋ฆฝ ํ™œ๋™
  2. ๋ณ€๊ฒฝ ์ œ์–ด
    ์‹๋ณ„๋œ ํ˜•์ƒํ•ญ๋ชฉ์˜ ๋ณ€๊ฒฝ ์š”๊ตฌ๋ฅผ ๊ฒ€ํ† , ์Šน์ธ ํ†ต์ œํ•จ์œผ๋กœ์จ ํ˜„์žฌ์˜ ๋ฒ ์ด์Šค๋ผ์ธ์— ์ž˜ ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋„๋ก ์กฐ์ •
  3. ํ˜•์ƒ ์ƒํƒœ ๋ณด๊ณ 
    ๋ฒ ์ด์Šค๋ผ์ธ์˜ ํ˜„์žฌ ์ƒํƒœ ๋ฐ ๋ณ€๊ฒฝ ํ•ญ๋ชฉ๋“ค์ด ์ œ๋Œ€๋กœ ๋ฐ˜์˜๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ณด๊ณ ํ•˜๊ณ  ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์ ˆ์ฐจ
  4. ํ˜•์ƒ ๊ฐ์‚ฌ
    ๋ฒ ์ด์Šค๋ผ์ธ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด ํ™•์ธ, ๊ฒ€์ฆ๊ณผ์ •์„ ํ†ตํ•ด ๊ณต์‹์ ์œผ๋กœ ์Šน์ธ
  5. ๋ฒ„์ „ ๊ด€๋ฆฌ 
    ๋ณ€๊ฒฝ ์ „๊ณผ ๋ณ€๊ฒฝ ํ›„๋ฅผ ๊ธฐ๋ก
  6. ๋ณ€๊ฒฝ ๊ด€๋ฆฌ
    ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•œ ์„ฑ๋Šฅ ๋ฐ ํ’ˆ์งˆ์„ ํ‰๊ฐ€ํ•œ๋‹ค
  7. ํ˜•์ƒ ํ†ต์ œ
    ์‹๋ณ„๋œ ํ˜•์ƒ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์š”๊ตฌ๋ฅผ ๊ฒ€ํ† ํ•˜์—ฌ ํ˜„์žฌ์˜ ๊ธฐ์ค€์„ ์ด ๋ฐœ ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋„๋ก ์กฐ์ •
  8. ํ˜•์ƒ ๊ธฐ๋ก

์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง•

๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ํŒจํ‚ค์ง• ์‹œ์— ๋””์ง€ํ„ธ ์ฝ˜ํ…์ธ ์˜ ์ง€์ ์žฌ์‚ฐ๊ถŒ์„ ๋ณดํ˜ธํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณต

ํŒจํ‚ค์ง• ๋„๊ตฌ๋Š” ๋ถˆ๋ฒ• ๋ณต์ œ๋กœ๋ถ€ํ„ฐ ๋””์ง€ํ„ธ ์ฝ˜ํ…์ธ ์˜ ์ง€์ ์žฌ์‚ฐ๊ถŒ์„ ๋ณดํ˜ธํ•ด์ฃผ๋Š” ์‚ฌ์šฉ ๊ถŒํ•œ ์ œ์–ด ๊ธฐ์ˆ , ํŒจํ‚ค์ง• ๊ธฐ์ˆ , ๋ผ์ด์„ ์Šค ๊ด€๋ฆฌ, ๊ถŒํ•œ ํ†ต์ œ ๊ธฐ์ˆ  ๋“ฑ์„ ํฌํ•จํ•œ๋‹ค.

 

์ €์ž‘๊ถŒ ๊ด€๋ฆฌ ๊ตฌ์„ฑ์š”์†Œ

  • ์ฝ˜ํ…์ธ  ์ œ๊ณต์ž - ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ €์ž‘๊ถŒ์ž
  • ์ฝ˜ํ…์ธ  ๋ถ„๋ฐฐ์ž - ์•”ํ˜ธํ™”๋œ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณต
  • ํŒจํ‚ค์ € - ์ฝ˜ํ…์ธ ๋ฅผ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๋‹จ์œ„๋กœ ๋ฌถ๋Š” ๊ธฐ๋Šฅ
  • ๋ณด์•ˆ ์ปจํ…Œ์ด๋„ˆ - ์›๋ณธ์„ ์•ˆ์ „ํ•˜๊ฒŒ ์œ ํ†ตํ•˜๊ธฐ ์œ„ํ•œ ๋ณด์•ˆ ์žฅ์น˜
  • DRM ์ปจํŠธ๋กค๋Ÿฌ - ๋ฐฐํฌ๋œ ์ฝ˜ํ…์ธ ์˜ ์ด์šฉ ๊ถŒํ•œ์„ ํ†ต์ œ
  • ํด๋ฆฌ์–ด๋ง ํ•˜์šฐ์Šค - ํ‚ค ๊ด€๋ฆฌ ๋ฐ ๋ผ์ด์„ ์Šค ๋ฐœ๊ธ‰ ๊ด€๋ฆฌ

ํŒจํ‚ค์ง• ๋„๊ตฌ ๊ตฌ์„ฑ์š”์†Œ

  • ์•”ํ˜ธํ™”
    ์ฝ˜ํ…์ธ  ๋ฐ ๋ผ์ด์„ ์Šค๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ , ์ „์ž ์„œ๋ช…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ  (PKI, DiGital Signature ๋“ฑ)
  • ํ‚ค ๊ด€๋ฆฌ
    ์ฝ˜ํ…์ธ ๋ฅผ ์•”ํ˜ธํ™”ํ•œ ํ‚ค์— ๋Œ€ํ•œ ์ €์žฅ ๋ฐ ๋ฐฐํฌ ๊ธฐ์ˆ  (Centralized, Enveloping)
  • ์•”ํ˜ธํ™” ํŒŒ์ผ ์ƒ์„ฑ 
    ์ฝ˜ํ…์ธ ๋ฅผ ์•”ํ˜ธํ™”๋œ ์ฝ˜ํ…์ธ ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ  (Pre-packing, On-the-fly Packaging)
  • ์‹๋ณ„ ๊ธฐ์ˆ  
    ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ์‹๋ณ„ ์ฒด๊ณ„ ํ‘œํ˜„ ๊ธฐ์ˆ (DOI, URL)
  • ์ €์ž‘๊ถŒ ํ‘œํ˜„
  • ์ •์ฑ… ๊ด€๋ฆฌ
  • ํฌ๋ž™ ๋ฐฉ์ง€
  • ์ธ์ฆ 

 

+ Recent posts