[REDMINE] ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

2022. 10. 27. 21:59ใ†์ด๋ก  ์ •๋ฆฌ

728x90
๋ฐ˜์‘ํ˜•

 

 

 

Redmine Cookbook

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 



๐Ÿ—‚ ๋ชฉ์ฐจ

โ— [INFRA] Ubuntu 22.04 LTS Redmine ์„ค์น˜  
โ— [INFRA] Redmine๊ณผ Git ์—ฐ๋™  
โ— [REDMINE] ์‚ฌ์šฉ ๋ฐฉ๋ฒ•  

 

์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ - Git๊ณผ Redmine์œผ๋กœ ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๊ฐ•์˜์™€ ์ƒํ™œ์ฝ”๋”ฉ - ๋ ˆ๋“œ๋งˆ์ธ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค.

 

 

๐Ÿš€ Redmine์œผ๋กœ ํ˜‘์—…ํ•˜๊ธฐ

 

    ๐Ÿ”ฝ  ์ฃผ์š” ๊ธฐ๋Šฅ

        ๐Ÿ“ฆ ์ฃผ์š” ๊ธฐ๋Šฅ ์ •๋ฆฌ

โˆ™ ํ”„๋กœ์ ํŠธ : ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋‹จ์œ„๋กœ ์ด ๋‹จ์œ„์— ๋”ฐ๋ผ ์—…๋ฌด, ๋‰ด์Šค, ์ €์žฅ์†Œ ๋“ฑ ๊ตฌ๋ถ„.
โˆ™ ์ผ๊ฐ : ์—…๋ฌด ๊ธฐ๋ก, ๋‹ด๋‹น์ž ์ง€์ •, ์ผ์ • ์‚ฐ์ถœ ๋“ฑ์ด ์ด๋ค„์ง€๋Š” ๊ธ€ ๋‹จ์œ„ (Blog์˜ Post, ๊ฒŒ์‹œํŒ์˜ ๊ฒŒ์‹œ๋ฌผ๊ณผ ๊ฐ™์€ ๋‹จ์œ„).
โˆ™ Wiki(์œ„ํ‚ค) : ์œ„ํ‚ค๋Š” ๋งํฌ๋ฅผ ํ†ตํ•ด ์—ฐ๊ด€๋œ ์ง€์‹์„ ๊ทธ๋ฌผ๋ง์ฒ˜๋Ÿผ ์—ฐ๊ฒฐ ์‹œํ‚จ ์ง€์‹ ์ €์žฅ์˜ ํ˜•ํƒœ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ์ •๋ณด, ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์‚ฐ์ถœ๋˜๋Š” ์ง€์‹ ์ €์žฅ์†Œ.
โˆ™ ๊ฐ„ํŠธ ์ฑ ํŠธ : ์ผ๊ฐ์— ๋”ฐ๋ฅธ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ณด์—ฌ์ฃผ๋Š” ์‹œ๊ฐํ™” ๋ฐฉ๋ฒ•.
โˆ™ ๋‹ฌ๋ ฅ : ๋‹ฌ๋ ฅ ํ˜•์‹์œผ๋กœ ์ผ๊ฐ๋“ค์˜ ๊ธฐ๊ฐ„ ํ™•์ธ.
โˆ™ ๋ฌธ์„œ : ๊ฒŒ์‹œํŒ ํ˜•์‹์œผ๋กœ ์ •๋ณด ์ €์žฅ.
โˆ™ ํŒŒ์ผ : ๊ณต์œ ํ•ด์•ผ ํ•  File ์ €์žฅ.
โˆ™ ์ €์žฅ์†Œ : Version ๊ด€๋ฆฌ System(Git Hub, Git Lap ๋“ฑ)๊ณผ ์—ฐ๋™ํ•˜์—ฌ Source Code, ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ์—ด๋žŒํ•˜๊ฑฐ๋‚˜, ์—ญ์‚ฌ๋ฅผ ์ถ”์ .








        ๐Ÿ“ฆ Project

Redmine์— Project๋Š” ๋ถ€๋ชจ - ์ž์‹ ๊ด€๊ณ„๋กœ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์–ด์š”. ์ฆ‰, ์ƒ์œ„ Project ์•„๋ž˜ ํ•˜์œ„ Project๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…์ด์—์š”.


ํ•˜์œ„ Project๋กœ ๋งŒ๋“ค Project์— '์„ค์ •'์—์„œ ์œ„์™€ ๊ฐ™์ด ์ƒ์œ„ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•ด ์ฃผ๋ฉด ๋˜์š”.







        ๐Ÿ“ฆ ๋กœ๋“œ๋งต

 


๋กœ๊ทธ๋งต์„ ํ†ตํ•ด์„œ ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ์ผ๊ฐ์— ๋Œ€ํ•ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

์ผ๊ฐ์ด ๋ชจ๋‘ ์™„๋ฃŒ๊ฐ€ ๋˜์–ด์•ผ ํ•ด๋‹น Project๊ฐ€ ๋๋‚ฌ๋‹ค๊ณ  ์„ ์–ธํ•˜๊ณ , ์ถœ์‹œ ํ•  ์ˆ˜ ์žˆ์„๊ฑฐ์—์š”.

ํ•œ๋งˆ๋””๋กœ ์ •๋ฆฌํ•˜๋ฉด ์ผ๊ฐ์„ ๋ฌถ์–ด ๋†“์€ ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ์–ด์š”.







        ๐Ÿ“ฆ WiKi

์œ„ํ‚ค๋Š” ํ•ด๋‹น Project ์ฐธ์—ฌ ์ธ์›๋“ค์ด ํ•„์ˆ˜๋กœ ์•Œ์•„์•ผ ํ•˜๋Š” ์ง€์‹๋“ค์ด๋‚˜, Project๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง€๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ •๋ณด, ์ง€์‹๋“ค์„ ์ •๋ฆฌํ•ด ๋‘๋Š” ๋ฐฑ๊ณผ์‚ฌ์ „์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜์š”.

WiKi๋Š” ๋‹จ์–ด์™€ ๋‹จ์–ด๋“ค์„ ๋งํฌ๋กœ ์—ฐ๊ฒฐ ์‹œ์ผœ ๊ฑฐ๋Œ€ํ•œ ๋ฐฑ๊ณผ์‚ฌ์ „์„ ๋งŒ๋“œ๋Š” System์ด์—์š”.

๊ฐ€์žฅ ์ ์ ˆํ•œ ์˜ˆ์‹œ๋Š” ์œ„ํ‚ค๋ฐฑ๊ณผ๊ฐ€ ์žˆ์–ด์š”!


๋จผ์ € Project ๋‚ด์— '์œ„ํ‚ค' Tab์„ ๋ˆŒ๋Ÿฌ ์œ„์™€ ๊ฐ™์ด WiKi ๋ฌธ๋ฒ•์œผ๋กœ ๊ธ€์”จ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์—ˆ์–ด์š”.


๋ฏธ๋ฆฌ ๋ณด๊ธฐ๋ฅผ ํ•ด์„œ ๋ณด๋ฉด ์œ„์™€ ๊ฐ™์ด ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œ๊ฐ€ ๋˜๋Š”๋ฐ, ์ด๋Š” ํ•ด๋‹น ๋‹จ์–ด์™€ ์—ฐ๊ฒฐ๋  ๋ฌธ์„œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด์—์š”.
์ € ์ƒํƒœ์—์„œ ํ•ด๋‹น ๊ธ€์ž๋ฅผ ํด๋ฆญํ•˜๊ฒŒ ๋˜๋ฉด ์ € ๋‚ด์šฉ์— ๋Œ€ํ•ด ๊ธ€์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Editor ์ฐฝ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ๋œ๋‹ต๋‹ˆ๋‹ค.

 


์ €์žฅ์„ ํ•ด์ฃผ๋ฉด ์œ„์™€ ๊ฐ™์ด ๋งŒ๋“ค์–ด ์ง„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.
๊ทธ๋Ÿผ '์ปจํ…์ธ '๋ผ๋Š” ๊ธ€์ž๋ฅผ ๋ˆŒ๋Ÿฌ๋ณผ๊ฒŒ์š”.


๊ทธ๋Ÿผ ์ด๋ ‡๊ฒŒ ์ปจํ…์ธ ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ Editor๋กœ ๋„˜์–ด๊ฐ€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.


์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑ์„ ํ•˜๊ณ  ์ €์žฅ์„ ํ•ด ๋ณผ๊ฒŒ์š”.



์ปจํ…์ธ ์˜ ๊ธ€์ž๊ฐ€ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.



์ปจํ…์ธ ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด ์ด๋™ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.



์œ„์™€ ๊ฐ™์ด '์ด๋ ฅ'์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋ฌธ์„œ์— ๋Œ€ํ•ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.



์ด๋ ‡๊ฒŒ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.



WiKi ๋ฌธ๋ฒ•์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ์ด ๊ณณ์— ์ค€๋น„ํ•ด ๋‘์—ˆ์–ด์š”.




 

    ๐Ÿ”ฝ  Redmine์œผ๋กœ ํ•˜๋Š” Project ๊ด€๋ฆฌ

        ๐Ÿ“ฆ Version

Version์€ ํฌ๊ฒŒ ์„ธ๊ฐ€์ง€ ๋ฒˆํ˜ธ๋กœ ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์š”.
์ฆ‰, Version ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์•ฝ์†์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ข‹์•„์š”.
๋Œ€๋ถ€๋ถ„ Version์„ ๋‚˜ํƒ€๋‚ผ ๋•Œ 3๊ฐ€์ง€ ์ˆซ์ž๋ฅผ .์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์•ž ์ž๋ฆฌ๋Š” major, ๊ฐ€์šด๋ฐ๋Š” minor, ๋งˆ์ง€๋ง‰์€ etc ๋‚ด์šฉ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜์š”.

์˜ˆ๋ฅผ ๋“ค์–ด 3.0.1 ์ด๋ผ๋Š” Version ์ˆซ์ž๊ฐ€ ๋ณด์ธ๋‹ค๋ฉด major ๋ฒˆํ˜ธ๋Š” 3์ด๊ณ , minor ๋ฒˆํ˜ธ๋Š” 0์ด๊ณ , etc ๋ฒˆํ˜ธ๋Š” 1์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์–ด์š”.

์ด  ๋ฆ„ ๋‚ด   ์šฉ
major ํ˜ธํ™˜์ด ์•ˆ๋˜๋Š” ๋ณ€๊ฒฝ, Framework ๋ณ€๊ฒฝ, Method(ํ•จ์ˆ˜) ์‚ญ์ œ, ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋“ฑ
minor ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ๋ณ€๊ฒฝ, Function ์ถ”๊ฐ€, Component ์ถ”๊ฐ€, Class ์ถ”๊ฐ€, Method ์ถ”๊ฐ€ ๋“ฑ 
etc Bug Fix (๋ฒ„๊ทธ ์ˆ˜์ •) ๋“ฑ
728x90


ํ˜ธํ™˜์ด ์•ˆ๋˜๋Š” ๋ณ€๊ฒฝ์ด๋ผ๋Š” ๋ง์€ ํ•ด๋‹น Project๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ Project๋‚˜, Library๊ฐ€ 1 Version๊ณผ 2 Version์ด ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ์„œ๋กœ ํ˜ธํ™˜์ด ์•ˆ๋˜๋Š” ๊ฒƒ์„ ๋งํ•ด์š”.

ํ˜ธํ™˜์ด ๋œ๋‹ค๋Š” ๊ฒƒ์€ ์˜ˆ๋ฅผ ๋“ค์–ด 1.1 Version, 1.2 Version, 1.3 Version์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, ์„œ๋กœ ํ˜ธํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ด์•ผ๊ธฐ์—์š”.

1.1 Version์€ 1.2 Version๋ณด๋‹ค ๋งŽ์€ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— 1.1 Version์„ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ 1.2 Version์ด ๋‚˜์˜ค๋ฉด 1.2 Version์„ ์จ์•ผ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊ฑฐ์—์š”.

 

Version ์˜ˆ์‹œ

Version ์˜ˆ์‹œ ๋‚ด      ์šฉ
1.0.0 Version 1๋กœ Release ๋˜๊ณ ,
Bug Fix ๋“ฑ์ด ํ•œ๋ฒˆ๋„ ๋˜์ง€ ์•Š์€ Version
1.0.3 Version 1๋กœ Release ๋˜๊ณ ,
Bug Fix ๋“ฑ์ด 3๋ฒˆ ์žˆ์—ˆ๋˜ Version
1.3.0 Version 1์—์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€, 1.0.*, 1.1.*, 1.2.* Version์„ ์‚ฌ์šฉํ•˜๋˜ Project ํ˜ธํ™˜ ๊ฐ€๋Šฅ.
ํ•œ๋ฒˆ๋„ Bug Fix ๋“ฑ์ด ์—†์—ˆ๋˜ Version
2.1.11 Version 2๋กœ Release ๋˜๊ณ ,
Bug Fix ๋“ฑ์ด 11๋ฒˆ ์žˆ์—ˆ๋˜ Version,
2.0.* Version๊ณผ ํ˜ธํ™˜ ๊ฐ€๋Šฅ.









        ๐Ÿ“ฆ Version / ์ผ๊ฐ ๋งŒ๋“ค๊ธฐ

๋จผ์ € Redmine์„ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ๊ฒŒ์š”.


์ตœ์ดˆ ์ดˆ๊ธฐ ํ™”๋ฉด์—์„œ 'ํ”„๋กœ์ ํŠธ'๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ค๋‹ˆ๋‹ค.




'์ƒˆ ํ”„๋กœ์ ํŠธ'๋ฅผ ๋ˆŒ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์ค„๊ฒŒ์š”.




blog ๋ผ๋Š” ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์ค„๊ฒŒ์š”.

์ฐธ๊ณ ๋กœ ์‹๋ณ„์ž๋Š” URI๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด์—์š”.

์œ„์™€ ๊ฐ™์ด blog๋ผ๊ณ  ์‹๋ณ„์ž๋ฅผ ์ฃผ๊ฒŒ ๋˜๋ฉด http://xxx.redmine.com/blog์™€ ๊ฐ™์ด URI๊ฐ€ ์„ค์ • ๋  ๊ฒƒ์ด์—์š”.




๋‹ค์‹œ ์ƒ๋‹จ์— 'ํ”„๋กœ์ ํŠธ'๋ฅผ ๋ˆ„๋ฅด๋ฉด ์œ„์™€ ๊ฐ™์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งŒ๋“ค์–ด ์ง„ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.


์ด ํ”„๋กœ์ ํŠธ์—์„œ ์š”๊ตฌ ์‚ฌํ•ญ์€ ์•„๋ž˜์™€ ๊ฐ™์•„์š”.

โˆ™ Login Page
โˆ™ Welcome Page
โˆ™ JavaScript - Authenticate(์ธ์ฆ)


์ตœ์ดˆ Version ๊ด€๋ จํ•œ ์ž‘์—…์„ ํ•ด๋ณผ๊ฒŒ์š”.


์œ„์™€ ๊ฐ™์ด '์„ค์ •'์œผ๋กœ ๋“ค์–ด๊ฐ€ ์ค„๊ฒŒ์š”.



๊ทธ๋Ÿฐ ๋’ค '๋ฒ„์ „'์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.



'์ƒˆ ๋ฒ„์ „'์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.



์œ„์™€ ๊ฐ™์ด ์ด๋ฆ„์—๋Š” Version์„ ์ ์–ด์ฃผ๊ณ , ์ˆซ์ž์— ์–ด๋–ค ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ Version์ธ์ง€์— ๋Œ€ํ•ด ์ ์–ด์ฃผ์—ˆ์–ด์š”.
๊ทธ๋Ÿฐ ๋’ค ๋‚ ์งœ์— ํ•ด๋‹น ๊ธฐ๋Šฅ ์ž‘์—… ์‹œ์ž‘์ผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์—ˆ์–ด์š”.

'๋งŒ๋“ค๊ธฐ'๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.



์œ„์™€ ๊ฐ™์ด ๋ฒ„์ „์ด ํ•˜๋‚˜ ์ƒ๊ธด๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.



์ด๋ฒˆ์—๋Š” '์ผ๊ฐ'์„ ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด ๋ณผ๊ฒŒ์š”.

์ฐธ๊ณ ๋กœ ํ˜„์—…์—์„œ๋Š” ์ด ์ผ๊ฐ์„ Ticket(ํ‹ฐ์ผ“)์ด๋ผ๊ณ  ๋งŽ์ด ๋ถˆ๋Ÿฌ์š”.

'์ผ๊ฐ'์„ ๋ˆŒ๋Ÿฌ ๋“ค์–ด๊ฐ€ ์ค„๊ฒŒ์š”.



'์ƒˆ ์ผ๊ฐ ๋งŒ๋“ค๊ธฐ'๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”.



์œ„์™€ ๊ฐ™์ด ์œ ํ˜•์—๋Š” ์ƒˆ ๊ธฐ๋Šฅ์„ ๋งŒ๋“œ๋Š” ์ž‘์—…์ด๊ธฐ ๋•Œ๋ฌธ์— '์ƒˆ ๊ธฐ๋Šฅ'์œผ๋กœ ํ•˜์˜€๊ณ , ํ•ด๋‹น ์ผ๊ฐ์˜ ์ œ๋ชฉ์€ Login Page๋ผ๊ณ  ํ•˜์—ฌ ์ฃผ์—ˆ์–ด์š”.

์œ„์—์„œ ๋งŒ๋“  Version์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ๋ชฉํ‘œ ๋ฒ„์ „์—์„œ ์„ ํƒํ•˜์—ฌ ์ฃผ์—ˆ์–ด์š”.

'๋งŒ๋“ค๊ธฐ'๋ฅผ ๋ˆŒ๋Ÿฌ์ค„๊ฒŒ์š”.



์œ„์™€ ๊ฐ™์ด '์ผ๊ฐ'์ด ๋งŒ๋“ค์–ด ์กŒ์–ด์š”.

 


๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Welcome Page, Login Authentication '์ผ๊ฐ'๋„ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์–ด์š”.



'๊ฐœ์š”' Tab์„ ๋ณด๋ฉด ์œ„์™€ ๊ฐ™์ด ์ƒˆ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ง„ํ–‰์ค‘์ด๋ผ๊ณ  ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

 


'์ผ๊ฐ' Tab์—์„œ๋Š” ์œ„์™€ ๊ฐ™์ด ์„ธ ๊ฐœ์˜ ์ผ๊ฐ์ด ๋“ฑ๋ก๋œ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์–ด์š”.


ํ•˜๋‚˜ ๋” ์ผ๊ฐ์„ ๋งŒ๋“ค์–ด ๋ณผ๊ฒŒ์š”.


์œ„์™€ ๊ฐ™์ด ์„ค๋ช…์— h1๊ณผ *์™€ ๊ฐ™์ด Wiki ๋ฌธ๋ฒ•์„ ํ†ตํ•ด ๊ธ€์ž๋ฅผ ๊พธ๋ฉฐ์ค„ ์ˆ˜ ์žˆ์–ด์š”.

์šฐ์ธก์— ? ํ‘œ์‹œ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์–ด๋–ค ๊ฒƒ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ Manual์ด ๋‚˜์˜จ๋‹ต๋‹ˆ๋‹ค.



์œ„์™€ ๊ฐ™์ด ์ž‘์—…ํ•˜๊ณ , '๋ฏธ๋ฆฌ ๋ณด๊ธฐ'๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.



 



์œ„์™€ ๊ฐ™์ด ๊ธ€์”จ๊ฐ€ ๋ชจ๋‘ ์ปค์ ธ๋ฒ„๋ฆฌ๋Š” ์‚ฌํƒœ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•œ ์นธ์„ ๋„์–ด์ฃผ์—ˆ์–ด์š”.



์œ„์™€ ๊ฐ™์ด ์‹œ์ž‘์ผ๊ณผ ์™„๋ฃŒ ๊ธฐํ•œ์„ ์ค„ ์ˆ˜ ์žˆ๊ณ , ์‹œ๊ฐ„์œผ๋กœ ํ•ด์„œ ์™„๋ฃŒ ์‹œ๊ฐ„์„ ์–ผ๋งˆ๋‚˜ ์ค„ ๊ฒƒ์ธ์ง€๋„ ์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”.

๋˜ํ•œ, ์ž‘์—…์ž๋ฅผ ์ง€์ •ํ•ด ์ค„ ์ˆ˜๋„ ์žˆ์ฃ .


๊ด€๋ จํ•œ File์ด ์žˆ๋‹ค๋ฉด ํŒŒ์ผ๋„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

์ด ์ผ๊ฐ(Ticket) ๊ด€๋ จํ•ด์„œ ์‹ค์ œ ์ž‘์—…์ž๋Š” ์•„๋‹ˆ์ง€๋งŒ, ์ฐธ๊ณ ํ•ด์•ผ ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์žˆ๋‹ค๋ฉด ์ผ๊ฐ ๊ด€๋žŒ์ž๋ฅผ ํ†ตํ•ด ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์–ด์š”.




์œ„์™€ ๊ฐ™์ด ์ผ๊ฐ์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด ๋ณด์•˜์–ด์š”.

 

์ฃผ์š” ์ผ๊ฐ ์ƒํƒœ

โˆ™ ์‹ ๊ทœ : ์ผ๊ฐ์ด ์ฒ˜์Œ ๋ฐœํ–‰ ๋˜์—ˆ๊ณ , ํ•ด๋‹น ์ž‘์—…์ž๊ฐ€ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ์ƒํƒœ.
โˆ™ ์ง„ํ–‰ : ํ•ด๋‹น ๋‹ด๋‹น์ž๊ฐ€ ํ•ด๋‹น ์ผ๊ฐ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์‹œ์ž‘ ๋ฐ ์ง„ํ–‰์ค‘์ธ ์ƒํƒœ.
โˆ™ ์™„๋ฃŒ : ์ž‘์—…์ด ์™„๋ฃŒ๋œ ์ƒํƒœ.



์ด๋ฒˆ์—๋Š” ํ•˜์œ„ ์ผ๊ฐ์„ ๋งŒ๋“ค์–ด ๋ณผ๊ฒŒ์š”.

ํ•˜์œ„ ์ผ๊ฐ์˜ ์ถ”๊ฐ€๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.



์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ณ , ๋งŒ๋“ค๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด์•˜์–ด์š”.



๊ทธ๋Ÿผ ์œ„์™€ ๊ฐ™์ด ํ•˜์œ„ ์ผ๊ฐ์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

 








        ๐Ÿ“ฆ Bare Repository & Redmine๊ณผ Repository ์—ฐ๊ฒฐ

์ฃผ๋‹ˆํ•˜๋ž‘์€ ์—ฌ๊ธฐ์—์„œ ์—ฐ๋™ ๊ด€๋ จ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด ๋ณด์•˜์Œ์œผ๋กœ ์ด ๋‚ด์šฉ์œผ๋กœ ๋Œ€์ฒดํ• ๊ฒŒ์š”.

๋ฐ˜์‘ํ˜•
๐Ÿ’ก ์ฐธ๊ณ  ์‚ฌํ•ญ
Bare Repository๋ž€?

์ผ๋ฐ˜์ ์ธ ๊นƒ ์ €์žฅ์†Œ(์›๊ฒฉ ์ €์žฅ์†Œ๊ฐ€ ๋”ฐ๋กœ ์กด์žฌํ•˜๋Š” ๋กœ์ปฌ ์ €์žฅ์†Œ)๋Š” 'git init'์œผ๋กœ ์ƒ์„ฑํ•˜์ง€๋งŒ ์›๊ฒฉ(์„œ๋ฒ„) ์ €์žฅ์†Œ๋ผ๋ฉด bare-repository๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. bare-repository๋Š” ์›Œํ‚น ํŠธ๋ฆฌ๊ฐ€ ์—†๊ณ  ๋ณ€๊ฒฝ์‚ฌํ•ญ๋งŒ ์ถ”์ ํ•˜๋Š” ์ €์žฅ์†Œ๋ฅผ ๋งํ•œ๋‹ค.

 

 


์ด๋ ‡๊ฒŒ Repository ์ •๋ณด๋ฅผ Redmine์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.







        ๐Ÿ“ฆ ์ž‘์—… ๋ฐ ์ผ๊ฐ ์™„๋ฃŒ


์ตœ์ดˆ ์ฃผ๋‹ˆํ•˜๋ž‘์€ Code ์ž‘์—…์ด ์ง„ํ–‰๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ฐ€์ •ํ•˜๊ธฐ ์œ„ํ•ด Login ์ผ๊ฐ์— ๋Œ€ํ•œ Code ์ž‘์„ฑ์„ ์œ„์™€ ๊ฐ™์ด ์ง„ํ–‰ํ•ด ์ฃผ์—ˆ์–ด์š”.

 



html File์„ ์—ด์–ด ์ž˜ ๋™์ž‘ํ•˜๋Š”์ง€ Test ํ•ด ๋ณผ๊ฒŒ์š”.

 




์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.




(์œ„์—์„œ ์ž‘์—…ํ–ˆ๋˜ Repository์˜ ๋ฌธ์ œ๋กœ ๋ณ€๊ฒฝ์„ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.)

์œ„์™€ ๊ฐ™์ด login.html์„ push ํ•˜์—ฌ ์ฃผ์—ˆ์–ด์š”.



Login Page ๊ตฌํ˜„์ด ์™„๋ฃŒ ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, Redmine ์ผ๊ฐ์—์„œ ํ•ด๋‹น ์ผ๊ฐ์— ํŽธ์ง‘์„ ํ•ด์ฃผ์–ด์•ผํ•ด์š”.



ํ•ด๋‹น ์ผ๊ฐ์—์„œ 'ํŽธ์ง‘'์„ ๋ˆŒ๋Ÿฌ ์ฃผ์—ˆ์–ด์š”.


 

์œ„์™€ ๊ฐ™์ด ํŽธ์ง‘์—์„œ ์ง„์ฒ™๋„๋ฅผ ์™„๋ฃŒ๊ฐ€ ๋˜์—ˆ์œผ๋‹ˆ 100%๋กœ ์ˆ˜์ •ํ•˜๊ณ , ์ƒํƒœ๋ฅผ ์™„๋ฃŒ๋กœ ๋ณ€๊ฒฝํ•ด ์ฃผ์—ˆ์–ด์š”.

๋˜ํ•œ, ํ•ด๋‹น ์ž‘์—… ์†Œ์š” ์‹œ๊ฐ„์€ 1 ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค๊ณ  ํ•ด ์ฃผ์—ˆ๊ณ , ์™„๋ฃŒ ๊ธฐํ•œ์„ ์˜ค๋Š˜๋กœ ํ‘œ์‹œํ•ด ์ฃผ์—ˆ์–ด์š”.

'ํ™•์ธ'์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

 


๊ทธ๋Ÿผ ํ•ด๋‹น ์ž‘์—…์— ๋Œ€ํ•ด ์™„๋ฃŒ๊ฐ€ ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.


ํ•ด๋‹น ์ž‘์—…์ด ์–ผ๋งˆ๋‚˜ ์†Œ์š” ๋˜์—ˆ๋Š”์ง€๋„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.




'์ผ๊ฐ' ๋ชฉ๋ก์„ ๋ณด๋ฉด ํ•ด๋‹น ์ž‘์—…์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์‚ฌ๋ผ์ง„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.



๋กœ๋“œ๋งต


๋กœ๋“œ๋งต์„ ํ™•์ธ ํ•ด๋ณด๋‹ˆ ํ•œ ๊ฑด์ด ์™„๋ฃŒ๋œ ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด ์ฃผ๊ณ  ์žˆ์–ด์š”.



๋‚˜๋จธ์ง€ ์ผ๊ฐ๋„ ์ฒ˜๋ฆฌํ•ด ๋ณผ๊ฒŒ์š”.

welcome.html

 


Git์— Source Code๋ฅผ ์˜ฌ๋ฆด ๋•Œ, ์œ„์™€ ๊ฐ™์ด Commit Message์— ref #{Redmine ์ผ๊ฐ ๋ฒˆํ˜ธ}๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์—ˆ์–ด์š”.



์œ„์™€ ๊ฐ™์ด Redmine ์ €์žฅ์†Œ Tab์„ ๋ณด๋ฉด Code ์ˆ˜์ •์— ๋Œ€ํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

์ด๋ฒˆ์— Pushํ•œ Commit Message์— ํŒŒ๋ž€์ƒ‰์œผ๋กœ #2๋ผ๊ณ  ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๊ฑธ ๋ˆ„๋ฅด๋ฉด ๋ฐ”๋กœ ํ•ด๋‹น ์ž‘์—…์— ์ผ๊ฐ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์–ด์š”.


์œ„์™€ ๊ฐ™์ด ๋ฐ”๋กœ ์ด๋™์ด ๋œ๋‹ต๋‹ˆ๋‹ค.




์ด๋ฒˆ์—” ์ธ์ฆ์„ ์ฒ˜๋ฆฌํ•  JavaScript ๋ฌธ์„ ๋งŒ๋“ค์–ด ๋ณด์•˜์–ด์š”.






์ธ์ฆ๊ณผ Welcome์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์ถ”๊ฐ€ ๋˜์—ˆ์–ด์š”.




์œ„์—์„œ ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๊ฐ™์ด ํ•ด๋‹น ์ผ๊ฐ๋„ ํ˜„์žฌ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ˆ˜์ •์„ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.



์‹ค์ œ Side Project๋‚˜, ์—…๋ฌด๋ฅผ ํ•  ๋•Œ๋Š” ๋‹ค๋ฅธ ์ƒ์œ„ ์ง๊ธ‰์˜ ์‚ฌ๋žŒ์—๊ฒŒ Confirm์„ ๋ฐ›์•„์•ผ ํ•  ๊ฒƒ์ด์—์š”.
๊ทธ๋Ÿฐ ํ™˜๊ฒฝ์—์„œ๋Š” ์ƒํƒœ๋ฅผ 'ํ•ด๊ฒฐ'๋กœ ํ•˜๊ณ , ์œ„์™€ ๊ฐ™์ด ๋Œ“๊ธ€์„ ์“ฐ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฐฉ๋ฒ•์ธ ๊ฒƒ์ด์—์š”.



๊ทธ๋Ÿผ ์ผ๊ฐ History๊ฐ€ ์œ„์™€ ๊ฐ™์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์–ด์š”.

์ƒ์œ„ ์ง๊ธ‰์ž๋Š” ์ด ๋‚ด์šฉ์„ ํ™•์ธ(ํ•ด๋‹น ๊ธฐ๋Šฅ Test)ํ•˜๊ณ , ์™„๋ฃŒ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ํŽธ์ง‘์„ ํ†ตํ•ด ์ƒํƒœ๋ฅผ '์™„๋ฃŒ'๋กœ ๋ณ€๊ฒฝํ•˜๊ณ , ์ˆ˜์ •์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๊ทธ๊ฒƒ์— ๋งž๊ฒŒ ์ž‘์—…์„ ํ•˜๋ฉด ๋  ๊ฒƒ์ด์—์š”.







 

 

Redmine Cookbook

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."





 

๐Ÿง ์ฐธ๊ณ  ์ž๋ฃŒ

โˆ™ Git ๊ณผ Redmine ์œผ๋กœ ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

โˆ™ ์ƒํ™œ์ฝ”๋”ฉ - Redmine

 

 

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

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

[k8s] Kubernetes๋ž€?  (0) 2023.07.13
[์ด๋ก  ๋‚ด์šฉ] ZFS๋ž€?  (0) 2023.07.07
[WiKi] ๋ฌธ๋ฒ• ์ •๋ฆฌ  (0) 2022.10.28