JIRA Cloud ์™€ gitlab ์—ฐ๋™


์ง€๋ผ ํด๋ผ์šฐ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ JIRA ์šฉ gitlab plugin ์ธ GitLab.com for Jira Cloud app ๋ฅผ ์‚ฌ์šฉํ•ด์„œ JIRA cloud ์™€ gitlab ์„ ์‰ฝ๊ฒŒ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


gitlab app ์„ค์น˜

๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ Jira cloud์— ์—ฐ๊ฒฐํ•œ ํ›„์— ์ƒ๋‹จ์˜ ์„ค์ •์„ ํด๋ฆญํ•˜๊ณ  ์•ฑย  ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.


๊ฒ€์ƒ‰ ์ฐฝ์— gitlab ์„ ์ž…๋ ฅํ•œ ๋‹ค์Œ์— ๋ชฉ๋ก์—์„œ "gitlab.com for Jira Cloud" ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ œํ’ˆ์€ gitlab ์ด ์•„๋‹Œ ํšŒ์‚ฌ๊ฐ€ ๋งŒ๋“  ๊ฒƒ์ด๋ผ ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ƒ๋‹จ์˜ Get app ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋‹ฌ ๋Œ€ํ™”์ฐฝ์—์„œ Get it nowย  ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ƒ๋‹จ์— ์•ฑ์„ ์ถ”๊ฐ€์ค‘์ด๋ผ๋Š” ํŒ์—…์ด ๋œน๋‹ˆ๋‹ค.

์‹œ๊ฐ„์ด ์•ฝ๊ฐ„ ์ง€๋‚˜๋ฉด ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋Š” ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.


์„ค์ •

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋˜๋ฉด ์„ค์ • โ†’ ์•ฑ ย โ†’ ์•ฑ ๊ด€๋ฆฌย  ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•œํ›„์— ๋ชฉ๋ก์—์„œ Gitlab for Jiraย  ๋ฅผ ํด๋ฆญํ•˜๊ณ  Getting startedย  ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์„ค์ •์„ ์œ„ํ•ด Sign in to Gitlabย  ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gitlab ์— ์ •์ƒ์ ์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด Return toย  Gitlab for Jiraย  ๋ฉ”๋‰ด๊ฐ€ ํ‘œ์‹œ๋˜๋Š”๋ฐ ํด๋ฆญํ•ด ์ค๋‹ˆ๋‹ค.

์•„์ง ์—ฐ๊ฒฐํ•œ group์ด ์—†๊ธฐ๋•Œ๋ฌธ์— "no linked namespace " ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ƒ๋‹จ์˜ Add namespaceย  ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

namespace ๋Š” gitlab ์˜ group ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. project ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.!


ํ™”๋ฉด์— ์ €์žฅ์†Œ ๋ชฉ๋ก์ด ํ‘œ์‹œ๋˜๋Š”๋ฐ ์—ฐ๊ฒฐํ•  ์ €์žฅ์†Œ ์šฐ์ธก์˜ Linkย  ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด JIRA ์™€ gitlab ์ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๊ฒฐ๋๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ ์—ฐ๊ฒฐํ•œ ์ €์žฅ์†Œ ๋ชฉ๋ก์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.


Smart commit ์‚ฌ์šฉ

์—ฐ๊ฒฐ๋˜๋ฉด JIRA ํ”„๋กœ์ ํŠธ ๋ฉ”๋‰ด์— ์ฝ”๋“œ๊ฐ€ ์ƒ๊ธฐ๋ฉฐย  ํด๋ฆญํ•˜๋ฉด ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐ๋œ ์ €์žฅ์†Œ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜ ์ƒ์„ฑ

BitBucket ์€ JIRA ๋ฉ”๋‰ด์—์„œ ๋ฐ”๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ gitlab ์€ JIRA ๋ฉ”๋‰ด์—์„œ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋Œ€์‹  ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค ๋•Œ ์ด๋ฆ„์— Issue key ๊ฐ€ ํฌํ•จ๋˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋กœ ์œ„ ์ง€๋ผ ์ด์Šˆ ํ‚ค๋Š” AA-25 ์ธ๋ฐ ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ด์Šˆ ํ‚ค๋ฅผ ํฌํ•จํ•ด์„œ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ด์Šˆ ํ‚ค๋ฅผ ํฌํ•จํ•˜๋Š” ์ƒˆ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์—ˆ์œผ๋ฉด JIRA ์™€ ์—ฐ๋™๋˜๋„๋ก ์ปค๋ฐ‹์ด ์—†์–ด๋„ push ๋ฅผ ํ•œ ๋ฒˆ ํ•ด๋ณด๊ณ  ์ง€๋ผ ์ด์Šˆ ์ƒ์„ธ ํ™”๋ฉด์— ๋“ค์–ด๊ฐ€ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋ธŒ๋žœ์น˜๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ˜„์žฌ ์ด์Šˆ์™€ ๊ด€๋ จ๋œ gitlab ์ปค๋ฐ‹ ๋‚ด์—ญ๊ณผ Pull Request ๋“ฑ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Commit ์—ฐ๊ฒฐ

์ปค๋ฐ‹์‹œ์— ์ด์Šˆ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ด์Šˆ ๋ณ„ ์ปค๋ฐ‹ ๋‚ด์—ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆ˜์ •์„ ํ•˜๊ณ  ์ปค๋ฐ‹์‹œ์— ์ด์Šˆ ํ‚ค์™€ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋กœ ์ž…๋ ฅํ•˜๊ณ  push ๊นŒ์ง€ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐํ›„์— ์ด์Šˆ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ํด๋ฆญํ•œ ํ›„์— ์ปค๋ฐ‹ ํƒญ์„ ์—ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ปค๋ฐ‹ ๋‚ด์—ญ์ด ์—ฐ๊ฒฐ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋ฐ‹์˜ ํ•ด์‹œ id ๋ฅผ ํด๋ฆญํ•˜๋ฉด gitlab ์œผ๋กœ ๋„˜์–ด๊ฐ€์„œ ์†Œ์Šค์˜ ์ƒ์„ธ ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Issue status transition

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ์ „ํ™˜ํ•  Issue ์ƒํƒœ๋ฅผ ๊ธฐ์ˆ ํ•˜๋ฉด ์ด์Šˆ ์ƒํƒœ๋„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ „ํ™˜ํ•  ์ƒํƒœ์ธ close ๋ฅผ ๋„ฃ๊ณ  #comment ํƒœ๊ทธ ๋’ค์— ๋Œ“๊ธ€๋กœ ๋‚จ๊ธธ ๋ฉ”์‹œ์ง€๋ฅผ ๋„ฃ์œผ๋ฉด ์ด์Šˆ๊ฐ€ ์ข…๋ฃŒ ์ƒํƒœ๋กœ ์ „ํ™˜๋˜๊ณ  ๋Œ“๊ธ€๋กœ "์‘๋‹ต ๋ฉ”์‹œ์ง€์— ํ˜„์žฌ ์‹œ๊ฐ„ ์ถ”๊ฐ€ " ๊ฐ€ ๋‚จ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

AA-25 #close #comment ์‘๋‹ต ๋ฉ”์‹œ์ง€์— ํ˜„์žฌ ์‹œ๊ฐ„ ์ถ”๊ฐ€


์ด์Šˆ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ํ™•์ธํ•˜๋ฉด ํ˜„์žฌ ์ด์Šˆ์— 1๊ฐœ ๋ธŒ๋žœ์น˜์™€ 2๊ฐœ ์ปค๋ฐ‹์ด ์žˆ๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด์Šˆ์˜ ์ƒํƒœ๋Š” ๋ฐ”๋€Œ์ง€ ์•Š์€ ๊ฒƒ์„ ์•Œ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฑด ์Šค๋งˆํŠธ ์ปค๋ฐ‹์‹œ ์ž์ฃผ ํ•˜๋Š” ์‹ค์ˆ˜์ธ๋ฐย  ํ”„๋กœ์ ํŠธ์˜ work flow ์— close ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์นธ๋ฐ˜ ํ”„๋กœ์ ํŠธ์ด๋ฏ€๋กœ Close ๊ฐ€ ์•„๋‹Œ Done ์ƒํƒœ์ด๋ฉฐ ์ด๋Ÿฐ ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ์›Œํฌ ํ”Œ๋กœ์šฐ๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ƒ๋‹จ์˜ ์ด์Šˆ ์ƒํƒœ ๋ฆฌ์ŠคํŠธ๋ฅผ ํด๋ฆญํ•œ ํ›„์— ๋ฉ”๋‰ด์—์„œ ์›Œํฌํ”Œ๋กœ ๋ณด๊ธฐย  ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋Š” Done ์ด ์ข…๋ฃŒ ์ƒํƒœ์ธ ๊ฒƒ์„ ์•Œ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋‹ค์‹œ ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ์ „ํ™˜ํ•  work flow ์ƒํƒœ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  push ๋ฅผ ํ•ด ์ค๋‹ˆ๋‹ค.

AA-26 #done #comment ํ˜„์žฌ ์‹œ๊ฐ„์˜ time stamp zone ํ‘œ์‹œ 


๊ทธ๋ฆฌ๊ณ  ์ด์Šˆ ์ƒ์„ธ ํ™”๋ฉด์„ ๋ณด๋ฉด ์ด์Šˆ ์ƒํƒœ๊ฐ€ ์™„๋ฃŒ๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ „ํ™˜ํ•  ์ด์Šˆ๊ฐ€ "IN Progress" ๋‚˜ "Selected for Development" ๊ฐ™์ด ๊ณต๋ฐฑ์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ณต๋ฐฑ์„ ๋Œ€์‰ฌ(-) ๋กœ ์น˜ํ™˜ํ•ด์„œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์— ์ ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

AA-26 #in-progress #comment ๋‚ ์ž ์ถœ๋ ฅ์‹œ ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€๋ฅผ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ






๊ฐ™์ด ๋ณด๊ธฐ

Ref