๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ

์œ ์ถœ๋œ ๋น„๋ฐ€์„ ์‹ ์†ํ•˜๊ฒŒ ๊ฐ์ง€

์‹ค์ˆ˜๋กœ ์ž๊ฒฉ ์ฆ๋ช…์„ ๊ณต์œ  ์ €์žฅ์†Œ์— ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ์ž‘์€ ์‹ค์ˆ˜์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๊ฒฐ๊ณผ๋Š” ์‹ฌ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ๊ท€ํ•˜์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ API ํ‚ค๋ฅผ ์–ป์œผ๋ฉด ๊ท€ํ•˜์˜ ๊ณ„์ •์„ ํƒˆ์ทจํ•˜๊ณ  ๊ท€ํ•˜๋ฅผ ์ž ๊ทธ๊ณ  ๊ท€ํ•˜์˜ ๋ˆ์„ ์‚ฌ๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋„๋ฏธ๋…ธ ํšจ๊ณผ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๊ณ„์ •์— ์•ก์„ธ์Šคํ•˜๋ฉด ๋‹ค๋ฅธ ๊ณ„์ •์—๋„ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ํ—˜์ด ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ถœ๋œ ๋น„๋ฐ€์„ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ์•Œ์•„๋‚ด๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋‹ค์Œ ์˜ต์…˜์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๋น„๋ฐ€ ํƒ์ง€ SAST ๊ธฐ๋Šฅ์˜ ์ผ๋ถ€๋กœ. ๊ฐ ์ปค๋ฐ‹์€ CI/CD ์ž‘์—…์—์„œ ๋น„๋ฐ€์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋น„๋ฐ€์ด ์žˆ์œผ๋ฉฐ ๊ฐœ๋ฐœ์ž๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ ์‹œ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์œ ์ถœ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ๊ทธ ์ž๋ฆฌ์—์„œ ์ทจ์†Œํ•˜๊ณ  ์ƒˆ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ ์ ˆํ•œ ๋ณ€๊ฒฝ ๊ด€๋ฆฌ ๋ณด์žฅ

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

GitLab 11.9๋Š” ๋‹ค์Œ ๋•๋ถ„์— ๋” ๋งŽ์€ ์ œ์–ด๋ ฅ๊ณผ ๋” ํšจ์œจ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™. ์ด์ „์—๋Š” ๊ถŒํ•œ์„ ์–ป์œผ๋ ค๋ฉด ๊ฐœ์ธ์ด๋‚˜ ๊ทธ๋ฃน(๊ฐ ๊ตฌ์„ฑ์›์ด ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Œ)๋งŒ ์‹๋ณ„ํ•˜๋ฉด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ณ‘ํ•ฉ ์š”์ฒญ์— ํŠน์ • ๊ฐœ์ธ์ด๋‚˜ ํŠน์ • ๊ทธ๋ฃน์˜ ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ์›์˜ ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋„๋ก ์—ฌ๋Ÿฌ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ฝ”๋“œ ์†Œ์œ ์ž ๊ธฐ๋Šฅ์ด ํ—ˆ๊ฐ€ ๊ทœ์น™์— ํ†ตํ•ฉ๋˜์–ด ํ—ˆ๊ฐ€๋ฅผ ๋ฐœ๊ธ‰ํ•œ ์‚ฌ๋žŒ์„ ์‰ฝ๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ์กฐ์ง์€ ๋ฌธ์ œ, ์ฝ”๋“œ, ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์•ก์„ธ์Šคํ•˜์—ฌ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ณ  ํ•ด๊ฒฐ ํ”„๋กœ์„ธ์Šค ์†๋„๋ฅผ ๋†’์ด๋Š” ๋‹จ์ผ GitLab ์•ฑ์˜ ๋‹จ์ˆœ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ณต์žกํ•œ ํ•ด๊ฒฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ChatOps๋Š” ์ด์ œ ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค.

GitLab ChatOps๋Š” CI/CD ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ณ  Slack ๋ฐ Mattermost์™€ ๊ฐ™์€ ์ฑ„ํŒ… ์•ฑ์—์„œ ์ง์ ‘ ์ƒํƒœ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ์ž๋™ํ™” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์›๋ž˜ GitLab 10.6์—์„œ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค., ChatOps๋Š” GitLab Ultimate ๊ตฌ๋…์˜ ์ผ๋ถ€์˜€์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ฐ˜์„ ๋‘” ์ œํ’ˆ ๊ฐœ๋ฐœ ์ „๋žต ะธ ์˜คํ”ˆ์†Œ์Šค์— ๋Œ€ํ•œ ํ—Œ์‹ , ๋•Œ๋•Œ๋กœ ๊ธฐ๋Šฅ์„ ํ•œ ์ˆ˜์ค€ ์•„๋ž˜๋กœ ์ด๋™ํ•˜๊ณ  ๊ฒฐ์ฝ” ์œ„๋กœ ์ด๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ChatOps์˜ ๊ฒฝ์šฐ ์ด ๊ธฐ๋Šฅ์ด ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌ๊ฐ€ ๊ธฐ๋Šฅ ์ž์ฒด์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ ์šฐ๋ฆฌ๋Š” ์˜คํ”ˆ ์†Œ์Šค ChatOps ์ฝ”๋“œ, ๋”ฐ๋ผ์„œ ์ด์ œ ์ž์ฒด ๊ด€๋ฆฌ๋˜๋Š” GitLab Core ๋ฐ GitLab.com์—์„œ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ›จ์”ฌ ๋”!

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ๊ธฐ๋Šฅ์ด ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ์‚ฌ, ๋ณ‘ํ•ฉ ์š”์ฒญ ์ทจ์•ฝ์  ํ•ด๊ฒฐ ะธ ๋ณด์•ˆ ์ž‘์—…์„ ์œ„ํ•œ CI/CD ํ…œํ”Œ๋ฆฟ, - ๋นจ๋ฆฌ ์—ฌ๋Ÿฌ๋ถ„๊ป˜ ์•Œ๋ ค๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

๊ฐ€์žฅ ์†Œ์ค‘ํ•œ ์ง์›(MVP) ์ด๋ฒˆ ๋‹ฌ์€ Marcel Amirault(๋งˆ๋ฅด์…€ ์•„๋ฏธ๋กœ)
Marcel์€ GitLab ๋ฌธ์„œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ์ง€์†์ ์œผ๋กœ ๋„์›€์„ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋งŽ์ด ํ–ˆ์–ด์š” ๋ฌธ์„œ์˜ ํ’ˆ์งˆ๊ณผ ์œ ์šฉ์„ฑ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค. Domo arigato [๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค(์ผ๋ณธ์–ด) - ์•ฝ. trans.] ๋งˆ๋ฅด์…€๋‹˜ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

GitLab 11.9 ๋ฆด๋ฆฌ์Šค์— ์ถ”๊ฐ€๋œ ์ฃผ์š” ๊ธฐ๋Šฅ

์ €์žฅ์†Œ์—์„œ ๋น„๋ฐ€ ๋ฐ ์ž๊ฒฉ ์ฆ๋ช… ๊ฒ€์ƒ‰

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

๊ฐœ๋ฐœ์ž๊ฐ€ ์˜๋„์น˜ ์•Š๊ฒŒ ๋น„๋ฐ€๊ณผ ์ž๊ฒฉ ์ฆ๋ช…์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์œ ์ถœํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ด ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ณต๊ฐœ๋œ ๊ฒฝ์šฐ ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ๋…ธ์ถœ๋˜์–ด ๊ณต๊ฒฉ์ž๊ฐ€ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ ํ™˜๊ฒฝ๊ณผ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitLab 11.9์—๋Š” "๋น„๋ฐ€ ํƒ์ง€"๋ผ๋Š” ์ƒˆ๋กœ์šด ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. API ํ‚ค์™€ ๊ฑฐ๊ธฐ์— ์žˆ์–ด์„œ๋Š” ์•ˆ ๋˜๋Š” ๊ธฐํƒ€ ์ •๋ณด๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค. GitLab์€ ๋ณ‘ํ•ฉ ์š”์ฒญ ์œ„์ ฏ, ํŒŒ์ดํ”„๋ผ์ธ ๋ณด๊ณ ์„œ ๋ฐ ๋ณด์•ˆ ๋Œ€์‹œ๋ณด๋“œ์˜ SAST ๋ณด๊ณ ์„œ์— ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•ด ์ด๋ฏธ SAST๋ฅผ ํ™œ์„ฑํ™”ํ•œ ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด ์ž‘์—…๋„ ์ˆ˜ํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ ์ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ์—๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค ์ž๋™ DevOps ๊ธฐ๋ณธ.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™

(ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ์‹ค๋ฒ„, ๊ณจ๋“œ)

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

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

GitLab 11.8์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ถŒํ•œ ๊ทœ์น™์ด ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GitLab 11.9๋ถ€ํ„ฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitLab 11.3์—์„œ๋Š” ์˜ต์…˜์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์†Œ์œ ์ž ํ”„๋กœ์ ํŠธ ๋‚ด์˜ ๊ฐœ๋ณ„ ์ฝ”๋“œ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ํŒ€ ๊ตฌ์„ฑ์›์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ์†Œ์œ ์ž ๊ธฐ๋Šฅ์€ ๊ถŒํ•œ ๊ทœ์น™์— ํ†ตํ•ฉ๋˜์–ด ์žˆ์–ด ํ•ญ์ƒ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•  ์ ์ ˆํ•œ ์‚ฌ๋žŒ์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

ChatOps๋ฅผ ์ฝ”์–ด๋กœ ์ด๋™

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์›๋ž˜ GitLab Ultimate 10.6์— ๋„์ž…๋œ ChatOps๋Š” GitLab Core๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. GitLab ChatOps๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ Slack์„ ํ†ตํ•ด GitLab CI ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์Šฌ๋ž˜์‹œ ๋ช…๋ น.

์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ์˜ ์ง€์นจ์— ๋”ฐ๋ผ ์ด ๊ธฐ๋Šฅ์„ ์˜คํ”ˆ ์†Œ์Šคํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ ์ง€ํ–ฅ ํ‰์ค€ํ™” ์›์น™. ๋” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋ฉด ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ๋” ๋งŽ์€ ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๊ธฐ๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ์‚ฌ

(ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์ด์ œ ๊ธฐ๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ๊ณผ ๊ฐ™์€ ์ž‘์—…์ด GitLab ๊ฐ์‚ฌ ๋กœ๊ทธ์— ๊ธฐ๋ก๋˜๋ฏ€๋กœ ๋ฌด์—‡์ด ์–ธ์ œ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๊ณ ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ ์ตœ๊ทผ์— ๋ฌด์—‡์ด ๋ฐ”๋€Œ์—ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๊ฐ์‚ฌ์˜ ์ผ๋ถ€๋กœ ๊ธฐ๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์ด์ œ ์ด ์ž‘์—…์€ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋ณ‘ํ•ฉ ์š”์ฒญ ์ทจ์•ฝ์  ํ•ด๊ฒฐ

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

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

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

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๊ทธ๋ฃน ๋ณด์•ˆ ํŒจ๋„์— ์ปจํ…Œ์ด๋„ˆ ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ ํ‘œ์‹œ

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

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

GitLab 11.9์—์„œ๋Š” ๊ธฐ์กด SAST ๋ฐ ์ข…์†์„ฑ ์Šค์บ” ๊ฒฐ๊ณผ ์™ธ์— ์ปจํ…Œ์ด๋„ˆ ์Šค์บ” ๊ฒฐ๊ณผ๊ฐ€ ๋Œ€์‹œ๋ณด๋“œ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ฌธ์ œ์˜ ์›์ธ์— ๊ด€๊ณ„์—†์ด ์ „์ฒด ๊ฐœ์š”๊ฐ€ ํ•œ๊ณณ์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋ณด์•ˆ ์ž‘์—…์„ ์œ„ํ•œ CI/CD ํ…œํ”Œ๋ฆฟ

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

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

์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์šฐ๋ฆฌ๋Š” GitLab 11.7์—์„œ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ.

GitLab 11.9๋ถ€ํ„ฐ ๋ชจ๋“  ๋ณด์•ˆ ์ž‘์—…์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ํ…œํ”Œ๋ฆฟ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ: sast ะธ dependency_scanning, - ํ•ด๋‹น ๋ฒ„์ „์˜ GitLab๊ณผ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ตฌ์„ฑ์— ์ง์ ‘ ํฌํ•จํ•˜๋ฉด ์ƒˆ ๋ฒ„์ „์˜ GitLab์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ๋งˆ๋‹ค ์‹œ์Šคํ…œ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์€ ๊ณต์‹์ ์ธ ๊ฒƒ์ด๋ฉฐ ๋‹ค๋ฅธ ์ด์ „ ์ž‘์—… ์ •์˜๋‚˜ ์ฝ”๋“œ ์กฐ๊ฐ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. new ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ์ •์˜๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. template. ๋‹ค๋ฅธ ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ์ง€์›์€ GitLab 12.0 ๋˜๋Š” ๊ธฐํƒ€ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ฑฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

GitLab 11.9์˜ ๊ธฐํƒ€ ๊ฐœ์„  ์‚ฌํ•ญ

์˜๊ฒฌ์— ๋‹ตํ•˜์‹ญ์‹œ์˜ค

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

GitLab์—์„œ๋Š” ์ฃผ์ œ์— ๋Œ€ํ•œ ํ† ๋ก ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ์›๋Œ“๊ธ€์„ ์“ด ์‚ฌ๋žŒ์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ํ† ๋ก ์„ ์›ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด ์ œํ•œ์„ ์™„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. GitLab์—์„œ ์ด์Šˆ, ๋ณ‘ํ•ฉ ์š”์ฒญ, ์—ํ”ฝ์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ๋“ฃ๊ณ  ์‘๋‹ตํ•˜์—ฌ ํ† ๋ก ์„ ์‹œ์ž‘ํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํŒ€์ด ๋”์šฑ ์ฒด๊ณ„์ ์œผ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

.NET, Go, iOS ๋ฐ Pages์šฉ ํ”„๋กœ์ ํŠธ ํ…œํ”Œ๋ฆฟ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ ํ…œํ”Œ๋ฆฟ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
์„œ์‚ฌ์‹œ

์ฝ”๋“œ ์†Œ์œ ์ž์˜ ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

(ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ์‹ค๋ฒ„, ๊ณจ๋“œ)

๋ˆ„๊ฐ€ ๋ณ‘ํ•ฉ ์š”์ฒญ์„ ์Šน์ธํ•˜๋Š”์ง€ ํ•ญ์ƒ ๋ช…ํ™•ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

GitLab์€ ์ด์ œ ์š”์ฒญ์ด ์ˆ˜์ •ํ•˜๋Š” ํŒŒ์ผ์— ๋”ฐ๋ผ ๋ณ‘ํ•ฉ ์š”์ฒญ์„ ์Šน์ธํ•˜๋„๋ก ์š”๊ตฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ์†Œ์œ ์ž. ์ฝ”๋“œ ์†Œ์œ ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. CODEOWNERS, ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. gitattributes.

์ฝ”๋“œ ์†Œ์œ ์ž๋ฅผ ๋ณ‘ํ•ฉ ์š”์ฒญ ์Šน์ธ ๋‹ด๋‹น์ž๋กœ ์ž๋™ ํ• ๋‹นํ•˜๋Š” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊นƒ๋žฉ 11.5.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

Web IDE์—์„œ ํŒŒ์ผ ์ด๋™

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์ด์ œ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋ฉด ์ด๋ฅผ Web IDE์—์„œ ์ƒˆ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ์ €์žฅ์†Œ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

ํƒœ๊ทธ๋Š” ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

GitLab ํƒœ๊ทธ๋Š” ๋ฏฟ์„ ์ˆ˜ ์—†์„ ์ •๋„๋กœ ๋‹ค์žฌ๋‹ค๋Šฅํ•˜๋ฉฐ ํŒ€์€ ์ง€์†์ ์œผ๋กœ ํƒœ๊ทธ์˜ ์ƒˆ๋กœ์šด ์šฉ๋„๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๋Š” ์ด์Šˆ, ๋ณ‘ํ•ฉ ์š”์ฒญ ๋˜๋Š” ์—ํ”ฝ์— ๋งŽ์€ ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ๋Š” ๋ผ๋ฒจ ์‚ฌ์šฉ์ด ์ข€ ๋” ์‰ฌ์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ์ด์Šˆ, ๋ณ‘ํ•ฉ ์š”์ฒญ ๋ฐ ์—ํ”ฝ์˜ ๊ฒฝ์šฐ ์‚ฌ์ด๋“œ๋ฐ”์— ํ‘œ์‹œ๋˜๋Š” ๋ ˆ์ด๋ธ”์ด ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ด๋Ÿฌํ•œ ๊ฐœ์ฒด ๋ชฉ๋ก์„ ๋ณผ ๋•Œ๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

์ž‘์—…๋ณ„๋กœ ์ž‘์—…์„ ํ•„ํ„ฐ๋งํ•  ๋•Œ ๋น ๋ฅธ ๋Œ“๊ธ€

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—…, ๋ณ‘ํ•ฉ ์š”์ฒญ ๋˜๋Š” ์—ํ”ฝ๋ณ„๋กœ ํ™œ๋™ ํ”ผ๋“œ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์—ฌ ๋Œ“๊ธ€์ด๋‚˜ ์‹œ์Šคํ…œ ๋…ธํŠธ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ์‹œ์Šคํ…œ์˜ ๊ฐ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ์ €์žฅ๋˜๋ฉฐ, ๋ฉฐ์น  ํ›„ ๋ฌธ์ œ๋ฅผ ๋ณผ ๋•Œ ํ•„ํ„ฐ๋ง๋œ ํ”ผ๋“œ๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์‚ฌ์šฉ์ž๊ฐ€ ๊นจ๋‹ซ์ง€ ๋ชปํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋Œ“๊ธ€์„ ๋‚จ๊ธธ ์ˆ˜ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

ํ•˜์œ„ ์—ํ”ฝ ์ˆœ์„œ ๋ณ€๊ฒฝ

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ์— ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค ์–ด๋ฆฐ์ด ์„œ์‚ฌ์‹œ, ์ด๋Š” ์—ํ”ฝ์˜ ์—ํ”ฝ ์‚ฌ์šฉ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค(์—ํ”ฝ์˜ ํ•˜์œ„ ์ž‘์—…์— ์ถ”๊ฐ€๋กœ).

์ด์ œ ํ•˜์œ„ ์ด์Šˆ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ๋งŒ์œผ๋กœ ํ•˜์œ„ ์—ํ”ฝ์˜ ์ˆœ์„œ๋ฅผ ์žฌ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ€์—์„œ๋Š” ์ˆœ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๋ฐ˜์˜ํ•˜๊ฑฐ๋‚˜ ์ž‘์—…์„ ์™„๋ฃŒํ•ด์•ผ ํ•˜๋Š” ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

์›น ๋ฐ ์ด๋ฉ”์ผ์˜ ์‚ฌ์šฉ์ž ์ •์˜ ๋จธ๋ฆฌ๊ธ€ ๋ฐ ๋ฐ”๋‹ฅ๊ธ€ ์‹œ์Šคํ…œ ๋ฉ”์‹œ์ง€

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹)

์ด์ „์— GitLab์˜ ๋ชจ๋“  ํŽ˜์ด์ง€์— ์‚ฌ์šฉ์ž ์ •์˜ ๋จธ๋ฆฌ๊ธ€ ๋ฐ ๋ฐ”๋‹ฅ๊ธ€ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋œจ๊ฑฐ์šด ๋ฐ˜์‘์„ ์–ป์—ˆ์œผ๋ฉฐ ํŒ€์€ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GitLab ์ธ์Šคํ„ด์Šค์™€ ๊ด€๋ จ๋œ ์‹œ์Šคํ…œ ๋ฉ”์‹œ์ง€์™€ ๊ฐ™์€ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด ๊ธฐ๋Šฅ์„ Core์— ๋„์ž…ํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž์˜ ๋‹ค๋ฅธ GitLab ํ„ฐ์น˜ํฌ์ธํŠธ ์ „๋ฐ˜์— ๊ฑธ์ณ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด GitLab์„ ํ†ตํ•ด ์ „์†ก๋œ ๋ชจ๋“  ์ด๋ฉ”์ผ์— ์„ ํƒ์ ์œผ๋กœ ๋™์ผํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๊ธฐ๋ฐ€ ์ž‘์—…์œผ๋กœ ํ•„ํ„ฐ๋ง

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

๊ธฐ๋ฐ€ ๋ฌธ์ œ๋Š” ํŒ€์ด ๊ณต๊ฐœ ํ”„๋กœ์ ํŠธ ๋‚ด์˜ ๋ฏผ๊ฐํ•œ ์ฃผ์ œ์— ๋Œ€ํ•ด ๋น„๊ณต๊ฐœ ํ† ๋ก ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋ฏผ๊ฐํ•œ ์—…๋ฌด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์‰ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ๋Š” ์ด์ œ GitLab ๋ฌธ์ œ ๋ชฉ๋ก์ด ๋ฏผ๊ฐํ•œ ๋ฌธ์ œ ๋˜๋Š” ๋ฏผ๊ฐํ•˜์ง€ ์•Š์€ ๋ฌธ์ œ๋ณ„๋กœ ํ•„ํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ์—ฌํ•ด์ฃผ์‹  Robert Schilling์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.๋กœ๋ฒ„ํŠธ ์‹ค๋ง)!

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋ฐฐํฌ ํ›„ Knative ๋„๋ฉ”์ธ ํŽธ์ง‘

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

Knative๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์‚ฌ์šฉ์ž ์ •์˜ ๋„๋ฉ”์ธ์„ ์ง€์ •ํ•˜๋ฉด ๊ณ ์œ ํ•œ ์—”๋“œํฌ์ธํŠธ์—์„œ ๋‹ค์–‘ํ•œ ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ GitLab์˜ Kubernetes ํ†ตํ•ฉ์„ ํ†ตํ•ด Knative๋ฅผ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌํ•œ ํ›„ ์‚ฌ์šฉ์ž ๋„๋ฉ”์ธ์„ ๋ณ€๊ฒฝ/์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

Kubernetes CA ์ธ์ฆ์„œ ํ˜•์‹ ํ™•์ธ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

๊ธฐ์กด Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ์ด์ œ GitLab์€ ์ž…๋ ฅ๋œ CA ์ธ์ฆ์„œ๊ฐ€ ์œ ํšจํ•œ PEM ํ˜•์‹์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Kubernetes ํ†ตํ•ฉ์œผ๋กœ ์ธํ•œ ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋ณ‘ํ•ฉ ์š”์ฒญ ๋น„๊ต ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ „์ฒด ํŒŒ์ผ๋กœ ํ™•์žฅ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณผ ๋•Œ ์ด์ œ ํŒŒ์ผ๋ณ„๋กœ diff ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํ™•์žฅํ•˜์—ฌ ๋” ๋งŽ์€ ์ปจํ…์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์ „์ฒด ํŒŒ์ผ์„ ํ‘œ์‹œํ•˜๊ณ  ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ์ค„์— ์„ค๋ช…์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

ํŠน์ • ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งŒ ๋ณ‘ํ•ฉ ์š”์ฒญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ์ž‘์—…์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

GitLab 11.6์—๋Š” ๋‹ค์Œ์„ ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. only: merge_requests ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ‘ํ•ฉ ์š”์ฒญ์„ ์ƒ์„ฑํ•  ๋•Œ๋งŒ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒŒ์ดํ”„๋ผ์ธ ์ž‘์—…์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ์ด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ๋…ผ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. only: changes, ์‚ฌ์šฉ์ž๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋Œ€ํ•ด์„œ๋งŒ ๊ทธ๋ฆฌ๊ณ  ํŠน์ • ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ํŠน์ • ์ž‘์—…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์—ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Hiroyuki Sato (์‚ฌํ†  ํžˆ๋กœ์œ ํ‚ค)!

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

Grafana๋ฅผ ์‚ฌ์šฉํ•œ ์ž๋™ํ™”๋œ GitLab ๋ชจ๋‹ˆํ„ฐ๋ง

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹)

์ด์ œ Grafana๊ฐ€ Omnibus ํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด ์ธ์Šคํ„ด์Šค์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ grafana['enable'] = true ะฒ gitlab.rb, Grafana๋Š” ๋‹ค์Œ ์œ„์น˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://your.gitlab.instance/-/grafana. ๊ฐ€๊นŒ์šด ์žฅ๋ž˜์— ์šฐ๋ฆฌ๋„ ๊ทธ๋Ÿด ๊ฒƒ์ด๋‹ค. GitLab ํˆด๋ฐ”๋ฅผ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค "์ƒ์ž ๋ฐ–์œผ๋กœ".

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

์—ํ”ฝ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ๊ธฐ๋ณธ ์—ํ”ฝ ๋ณด๊ธฐ

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ์— ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋ฆฐ์ด ์„œ์‚ฌ์‹œ, ์„œ์‚ฌ์‹œ์˜ ์‚ฌ์šฉ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ๋Š” ์ด ๊ด€๊ณ„๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ํŠน์ • ์—ํ”ฝ์˜ ๋ชจ ์—ํ”ฝ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ์ „์ฒด ์—ํ”ฝ ํŠธ๋ฆฌ๋„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ์‚ฌ์‹œ๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ง์ ‘ ํ•ด๋‹น ์„œ์‚ฌ์‹œ๋กœ ์ด๋™ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

์ด๋™๋˜๊ณ  ๋‹ซํžŒ ์ž‘์—…์—์„œ ์ƒˆ ์ž‘์—…์— ์—ฐ๊ฒฐ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

GitLab์—์„œ๋Š” ์‚ฌ์ด๋“œ๋ฐ”๋‚˜ ๋น ๋ฅธ ์ž‘์—…์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์Šˆ๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋กœ ์‰ฝ๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๊ธฐ์กด ์ž‘์—…์ด ๋‹ซํžˆ๊ณ  ์‹œ์Šคํ…œ ๋ฉ”๋ชจ ๋ฐ ์‚ฌ์ด๋“œ๋ฐ” ์†์„ฑ์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ๋ณต์‚ฌ๋œ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ๋Œ€์ƒ ํ”„๋กœ์ ํŠธ์— ์ƒˆ ์ž‘์—…์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ›Œ๋ฅญํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์ด๋™์— ๋Œ€ํ•œ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ซํžŒ ์ž‘์—…์„ ๋ณผ ๋•Œ ์‚ฌ์šฉ์ž๋Š” ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ•˜๊ณ  ์ด๋™์œผ๋กœ ์ธํ•ด ์ž‘์—…์ด ๋‹ซํ˜”๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ซ์ง€ ์•Š์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋‹ซํžŒ ์ด์Šˆ์˜ ํŽ˜์ด์ง€ ์ƒ๋‹จ์— ์žˆ๋Š” ์•„์ด์ฝ˜์„ ํ†ตํ•ด ํ•ด๋‹น ์ด์Šˆ๊ฐ€ ์ด๋™๋˜์—ˆ์Œ์„ ๋ช…ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด์ „ ์ด์Šˆ๋ฅผ ์ฐพ๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ๋‚˜ ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒˆ ์ด์Šˆ์— ๋Œ€ํ•œ ๋งํฌ๋„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ฒƒ์œผ๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

YouTrack ํ†ตํ•ฉ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

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

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” JetBrains์˜ YouTrack์„ ํ†ตํ•ฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์—ฌํ•ด์ฃผ์‹  Kotau Jauchen์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.์ฝ”ํƒ€์šฐ ์•ผ์šฐํ—จ)!

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋ณ‘ํ•ฉ ์š”์ฒญ ํŒŒ์ผ ํŠธ๋ฆฌ ํฌ๊ธฐ ์กฐ์ •

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

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

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

์ตœ๊ทผ ์ž‘์—… ํ‘œ์‹œ์ค„๋กœ ์ด๋™

(์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

๋Œ€์‹œ๋ณด๋“œ๋Š” ๋งค์šฐ ์œ ์šฉํ•˜๋ฉฐ ํŒ€์€ ๊ฐ ํ”„๋กœ์ ํŠธ ๋ฐ ๊ทธ๋ฃน์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ตœ๊ทผ์—๋Š” ๊ด€์‹ฌ ์žˆ๋Š” ๋ชจ๋“  ํŒจ๋„์„ ๋น ๋ฅด๊ฒŒ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ƒ‰์ฐฝ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ๋Š” ์„น์…˜๋„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ๋“œ๋กญ๋‹ค์šด ๋ชฉ๋ก์—์„œ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ตœ๊ทผ์— ์ƒํ˜ธ์ž‘์šฉํ•œ ํŒจ๋„๋กœ ๋น ๋ฅด๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณดํ˜ธ๋œ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

๋ณดํ˜ธ๋œ ๋ถ„๊ธฐ๋Š” ๊ฒ€ํ† ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๊ฐ€ ์ด๋™๋˜๊ฑฐ๋‚˜ ๋ณ‘ํ•ฉ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ˆ„๊ตฌ๋„ ๋ณดํ˜ธ๋œ ๋ถ„๊ธฐ๋ฅผ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์œผ๋ฉด ๋ˆ„๊ตฌ๋„ ์ƒˆ๋กœ์šด ๋ณดํ˜ธ๋œ ๋ถ„๊ธฐ(์˜ˆ: ๋ฆด๋ฆฌ์Šค ๋ถ„๊ธฐ)๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ ๊ฐœ๋ฐœ์ž๋Š” GitLab ๋˜๋Š” API๋ฅผ ํ†ตํ•ด ์ด๋ฏธ ๋ณดํ˜ธ๋œ ๋ธŒ๋žœ์น˜์—์„œ ๋ณดํ˜ธ๋œ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ˆ˜๋กœ ์ƒˆ ๋ณดํ˜ธ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Git์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋ณดํ˜ธ ๋ธŒ๋žœ์น˜๋ฅผ ์ด๋™ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

์˜คํ”ˆ ํฌํฌ๋ฅผ ์œ„ํ•œ Git ๊ฐ์ฒด ์ค‘๋ณต ์ œ๊ฑฐ(๋ฒ ํƒ€)

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹)

Forking์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ˆ„๊ตฌ๋‚˜ ์“ฐ๊ธฐ ๊ถŒํ•œ ์—†์ด ์ €์žฅ์†Œ๋ฅผ ์ƒˆ ํ”„๋กœ์ ํŠธ์— ๋ณต์‚ฌํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์ฃผ ๋ถ„๊ธฐ๋˜๋Š” Git ์ €์žฅ์†Œ์˜ ์ „์ฒด ๋ณต์‚ฌ๋ณธ์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ์ด์ œ Git์œผ๋กœ alternatives ํฌํฌ๋Š” ๊ฐœ์ฒด ํ’€์— ์žˆ๋Š” ์ƒ์œ„ ํ”„๋กœ์ ํŠธ์˜ ๊ณตํ†ต ๊ฐœ์ฒด๋ฅผ ๊ณต์œ ํ•˜์—ฌ ๋””์Šคํฌ ์Šคํ† ๋ฆฌ์ง€ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ค„์ž…๋‹ˆ๋‹ค.

ํฌํฌ ๊ฐœ์ฒด ํ’€์€ ํ•ด์‹œ๋œ ์ €์žฅ์†Œ๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ์—ด๋ ค ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด์„œ๋งŒ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ํ’€์€ ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. object_pools.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
์„œ์‚ฌ์‹œ

ํ• ๋‹น๋œ ์Šน์ธ์ž๋ณ„๋กœ ๋ณ‘ํ•ฉ ์š”์ฒญ ๋ชฉ๋ก ํ•„ํ„ฐ๋ง

(์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์ฝ”๋“œ ๊ฒ€ํ† ๋Š” ์„ฑ๊ณต์ ์ธ ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ฐ˜์ ์ธ ๊ด€ํ–‰์ด์ง€๋งŒ ๊ฒ€ํ† ์ž๊ฐ€ ๋ณ‘ํ•ฉ ์š”์ฒญ์„ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ ๋ชฉ๋ก์ด ํ• ๋‹น๋œ ์Šน์ธ์ž๋ณ„๋กœ ํ•„ํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฒ€ํ† ์ž๋กœ ์ถ”๊ฐ€๋œ ๋ณ‘ํ•ฉ ์š”์ฒญ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์—ฌํ•ด์ฃผ์‹  Glewin Wiechert์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค(๊ธ€๋ผ๋นˆ ์œ„์ฒด๋ฅดํŠธ)!

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋ณ‘ํ•ฉ ์š”์ฒญ์˜ ๋‹ค์Œ ๋ฐ ์ด์ „ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฐ”๋กœ๊ฐ€๊ธฐ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณด๋Š” ๋™์•ˆ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ๊ฐ„์— ๋น ๋ฅด๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ]๋˜๋Š” j ๋‹ค์Œ ํŒŒ์ผ๋กœ ์ด๋™ํ•˜๋ ค๋ฉด [ ๋˜๋Š” k ์ด์ „ ํŒŒ์ผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์„ ์  ์„œ๋ฅ˜ ๋น„์น˜
ํƒœ์Šคํฌ

๋‹จ์ˆœํ™” .gitlab-ci.yml ์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

๊ธฐ๋Šฅ์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ• include GitLab CI, ์„œ๋ฒ„๋ฆฌ์Šค ํ…œํ”Œ๋ฆฟ gitlab-ci.yml ํฌ๊ฒŒ ๋‹จ์ˆœํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•˜๊ธฐ ์œ„ํ•ด ์ด ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

์ธ๊ทธ๋ ˆ์Šค ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ์ง€์›

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

Kubernetes ์ˆ˜์‹  ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋ฐฐํฌํ•  ๋•Œ ์ผ๋ถ€ ํ”Œ๋žซํผ์€ IP ์ฃผ์†Œ(์˜ˆ: Google GKE)๋กœ ๋Œ€์ฒด๋˜๊ณ  ๋‹ค๋ฅธ ํ”Œ๋žซํผ์€ DNS ์ด๋ฆ„(์˜ˆ: AWS EKS)์œผ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.

Kubernetes ํ†ตํ•ฉ์€ ์ด์ œ ์„น์…˜์— ํ‘œ์‹œํ•  ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. clusters ํ”„๋กœ์ ํŠธ.

๊ธฐ์—ฌํ•ด์ฃผ์‹  Aaron Walker์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค(์•„๋ก  ์›Œ์ปค)!

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

JupyterHub ๋กœ๊ทธ์ธ ์•ก์„ธ์Šค๋ฅผ ํŒ€/ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์›์œผ๋กœ๋งŒ ์ œํ•œ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

GitLab์˜ Kubernetes ํ†ตํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ JupyterHub๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์€ ๋Œ€๊ทœ๋ชจ ํŒ€์—์„œ Jupyter ๋…ธํŠธ๋ถ์„ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ฐ€ ๋˜๋Š” ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ์ด์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๊ฒƒ๋„ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ Kubernetes๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ๋œ JupyterHub ์ธ์Šคํ„ด์Šค์— ๋กœ๊ทธ์ธํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๊ฐœ๋ฐœ์ž ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๋ฉค๋ฒ„(๊ทธ๋ฃน ๋˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด)๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋ณด์•ˆ ํŒจ๋„ ๊ตฌ์„ฑํ‘œ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅํ•œ ์‹œ๊ฐ„ ๋ฒ”์œ„

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

ํŒ€ ๋ณด์•ˆ ๋Œ€์‹œ๋ณด๋“œ์—๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ์˜ ํ˜„์žฌ ๋ณด์•ˆ ์ƒํƒœ์— ๋Œ€ํ•œ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ทจ์•ฝ์„ฑ ๋งต์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ณด์•ˆ ์ฑ…์ž„์ž๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค์ •ํ•˜๊ณ  ํŒ€์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ๋Š” ์ด์ œ ์ด ์ทจ์•ฝ์  ๋งต์˜ ์‹œ๊ฐ„ ๋ฒ”์œ„๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋Š” ์ง€๋‚œ 90์ผ์ด์ง€๋งŒ ํ•„์š”ํ•œ ์„ธ๋ถ€ ์ •๋ณด ์ˆ˜์ค€์— ๋”ฐ๋ผ ๋ฒ”์œ„๋ฅผ 60์ผ ๋˜๋Š” 30์ผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ์นด์šดํ„ฐ๋‚˜ ๋ชฉ๋ก์˜ ๋ฐ์ดํ„ฐ์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉฐ ๋‹ค์ด์–ด๊ทธ๋žจ์— ํ‘œ์‹œ๋œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

ํƒœ๊ทธ์— ๋Œ€ํ•œ Auto DevOps ๋นŒ๋“œ ์ž‘์—… ์ถ”๊ฐ€

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

Auto DevOps ๋นŒ๋“œ ๋‹จ๊ณ„์—์„œ๋Š” Heroku ํ”„๋กœ์ ํŠธ ๋˜๋Š” ๋นŒ๋“œํŒฉ์˜ Dockerfile์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋นŒ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ๋Š” ํƒœ๊ทธ ํŒŒ์ดํ”„๋ผ์ธ์— ํฌํ•จ๋œ ๊ฒฐ๊ณผ Docker ์ด๋ฏธ์ง€์˜ ์ด๋ฆ„์ด SHA ์ปค๋ฐ‹ ๋Œ€์‹  ํƒœ๊ทธ ์ปค๋ฐ‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ์ด๋ฏธ์ง€ ์ด๋ฆ„๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.
๊ธฐ์—ฌํ•ด์ฃผ์‹  Aaron Walker์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

Code Climate์„ ๋ฒ„์ „ 0.83.0์œผ๋กœ ์—…๋ฐ์ดํŠธ

(์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

GitLab ์ฝ”๋“œ ํ’ˆ์งˆ ะธัะฟะพะปัŒะทัƒะตั‚ ์ฝ”๋“œ ๊ธฐํ›„ ์—”์ง„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ฝ”๋“œ ๋ฐ ํ”„๋กœ์ ํŠธ ์ƒํƒœ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

GitLab 11.9์—์„œ๋Š” ์—”์ง„์„ ์ตœ์‹  ๋ฒ„์ „(0.83.0) GitLab ์ฝ”๋“œ ํ’ˆ์งˆ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์–ธ์–ด ๋ฐ ์ •์  ๋ถ„์„ ์ง€์›์˜ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์—ฌํ•ด์ฃผ์‹  GitLab Core ํŒ€์› Takuya Noguchi์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค(๋…ธ๊ตฌ์น˜ ํƒ€์ฟ ์•ผ)!

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

์ธก์ •ํ•ญ๋ชฉ ํŒจ๋„ ํ™•๋Œ€/์ถ•์†Œ ๋ฐ ์Šคํฌ๋กค

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์„ฑ๋Šฅ ์ด์ƒ์„ ์กฐ์‚ฌํ•  ๋•Œ ํŠน์ • ์ง€ํ‘œ์˜ ๊ฐœ๋ณ„ ๋ถ€๋ถ„์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

GitLab 11.9๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ์ธก์ •ํ•ญ๋ชฉ ํŒจ๋„์—์„œ ๊ฐœ๋ณ„ ๊ธฐ๊ฐ„์„ ํ™•๋Œ€ํ•˜๊ณ , ์ „์ฒด ๊ธฐ๊ฐ„์„ ์Šคํฌ๋กคํ•˜๊ณ , ์›๋ž˜ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ ๋ณด๊ธฐ๋กœ ์‰ฝ๊ฒŒ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ•„์š”ํ•œ ์ด๋ฒคํŠธ๋ฅผ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์กฐ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋ฐ€ ํƒ์ง€ ๋ฐ ์—ฌ๋Ÿฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•ด๊ฒฐ ๊ทœ์น™์ด ํฌํ•จ๋œ GitLab 11.9 ์ถœ์‹œ
ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

TypeScript์šฉ SAST

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

์œ ํ˜• ์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋น„๊ต์  ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ.

GitLab 11.9์—์„œ๋Š” SAST(Static Application Security Testing)๊ฐ€ TypeScript ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์„ ๋ถ„์„ ๋ฐ ๊ฐ์ง€ํ•˜์—ฌ ๋ณ‘ํ•ฉ ์š”์ฒญ ์œ„์ ฏ, ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜์ค€ ๋ฐ ๋ณด์•ˆ ๋Œ€์‹œ๋ณด๋“œ์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ง์—… ์ •์˜ sast ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ ์ž๋™์œผ๋กœ ์ž๋™ DevOps.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

๋‹ค์ค‘ ๋ชจ๋“ˆ Maven ํ”„๋กœ์ ํŠธ์šฉ SAST

(๊ถ๊ทน๊ธฐ, ๊ณจ๋“œ)

Maven ํ”„๋กœ์ ํŠธ๋Š” ์ข…์ข… ๊ฒฐํ•ฉํ•˜์—ฌ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ์—. ์ด์ „์—๋Š” GitLab์ด ์ด๋Ÿฌํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์Šค์บ”ํ•  ์ˆ˜ ์—†์—ˆ์œผ๋ฉฐ ๊ฐœ๋ฐœ์ž์™€ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๋Š” ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๋ณด๊ณ ๋ฅผ ๋ฐ›์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

GitLab 11.9๋Š” ์ด ํŠน์ • ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ SAST ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ™•์žฅ๋œ ์ง€์›์„ ์ œ๊ณตํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์„๊ธฐ์˜ ์œ ์—ฐ์„ฑ ๋•๋ถ„์— ๊ตฌ์„ฑ์ด ์ž๋™์œผ๋กœ ๊ฒฐ์ •๋˜๋ฉฐ ๋‹ค์ค‘ ๋ชจ๋“ˆ Maven ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ‰์†Œ์™€ ๊ฐ™์ด ์œ ์‚ฌํ•œ ๊ฐœ์„  ์‚ฌํ•ญ๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ž๋™ DevOps.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั
ํƒœ์Šคํฌ

GitLab ๋Ÿฌ๋„ˆ 11.9

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” GitLab Runner 11.9๋„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค! GitLab Runner๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ด๋ฉฐ CI/CD ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ GitLab์œผ๋กœ ๋‹ค์‹œ ๋ณด๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ GitLab Runner 11.9์˜ ์ผ๋ถ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

์ „์ฒด ๋ณ€๊ฒฝ ๋ชฉ๋ก์€ GitLab Runner ๋ณ€๊ฒฝ ๋กœ๊ทธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๋กœ๊ทธ.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั

GitLab ์Šคํ‚ค๋งˆ ๊ฐœ์„ 

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹)

GitLab ์ฐจํŠธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • Google Cloud Memorystore์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํฌ๋ก  ์ž‘์—… ์„ค์ • ์ด์ œ ๊ธ€๋กœ๋ฒŒ, ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ๋ฒ„์ „ 2.7.1๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GitLab ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ 1.10 ์ด์ „ Docker ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋„๋ก ์ƒˆ๋กœ์šด ์„ค์ •์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ์„ค์น˜ํ•˜์„ธ์š”. registry.compatibility.schema1.enabled: true.

ะ”ะพะบัƒะผะตะฝั‚ะฐั†ะธั

์„ฑ๋Šฅ ํ–ฅ์ƒ

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฉ”์ดํŠธ, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ)

์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ทœ๋ชจ์˜ GitLab ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฆด๋ฆฌ์Šค์—์„œ GitLab ์„ฑ๋Šฅ์„ ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. GitLab 11.9์˜ ๋ช‡ ๊ฐ€์ง€ ๊ฐœ์„  ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ๊ฐœ์„ 

์˜ด๋‹ˆ๋ฒ„์Šค ๊ฐœ์„ 

(์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹)

GitLab 11.9์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ Omnibus ๊ฐœ์„  ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • GitLab 11.9์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ 5.8, ์˜คํ”ˆ ์†Œ์Šค Slack ๋Œ€์•ˆ, ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์—๋Š” Team Edition์šฉ MFA, ํ–ฅ์ƒ๋œ ์ด๋ฏธ์ง€ ์„ฑ๋Šฅ ๋“ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „์—๋Š” ๋‹ค์Œ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ๊ฐœ์„ ; ์—…๋ฐ์ดํŠธ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • GitLab ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ 1.10 ์ด์ „ Docker ๋ฒ„์ „๊ณผ ํ˜ธํ™˜๋˜๋„๋ก ์ƒˆ๋กœ์šด ์„ค์ •์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ์„ค์น˜ํ•˜์„ธ์š”. registry['compatibility_schema1_enabled'] = true ะฒ gitlab.rb.
  • GitLab ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” ์ด์ œ Prometheus ์ธก์ •ํ•ญ๋ชฉ์„ ๋‚ด๋ณด๋‚ด๊ณ  ๋“ค์–ด์˜ค๋Š” ํ•ญ๋ชฉ์„ ์ž๋™์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. Prometheus ์„œ๋น„์Šค์˜ ํ‚คํŠธ.
  • Google Cloud Memorystore์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ะพั‚ะบะปัŽั‡ะตะฝะธั redis_enable_client.
  • openssl ๋ฒ„์ „ 1.0.2r๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. nginx - ๋ฒ„์ „ 1.14.2๊นŒ์ง€, python - ๋ฒ„์ „ 3.4.9๊นŒ์ง€, jemalloc - ๋ฒ„์ „ 5.1.0๊นŒ์ง€, docutils - ๋ฒ„์ „ 0.13.1๊นŒ์ง€, gitlab-monitor- ๋ฒ„์ „ 3.2.0๊นŒ์ง€.

์˜ค๋ž˜๋œ ๊ธฐ๋Šฅ

GitLab Geo๋Š” GitLab 12.0์—์„œ ํ•ด์‹œ๋œ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

GitLab Geo๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ๋œ ์ €์žฅ์†Œ ๋ณด์กฐ ๋…ธ๋“œ์˜ ๊ฒฝ์Ÿ(๊ฒฝํ•ฉ ์กฐ๊ฑด)์„ ์™„ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค์Œ์—์„œ ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. gitlab-ce#40970.

GitLab์—์„œ 11.5 ์šฐ๋ฆฌ๋Š” Geo ๋ฌธ์„œ์— ์ด ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. gitlab-ee #8053.

GitLab์—์„œ 11.6 sudo gitlab-rake gitlab: geo: check ํ•ด์‹œ๋œ ์ €์žฅ์†Œ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๊ณ  ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์„ผํ‹ฐ๋ฏธํ„ฐ. gitlab-ee#8289. Geo๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด ํ™•์ธ์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜์„ธ์š”.

GitLab์—์„œ 11.8 ์˜๊ตฌ ๋น„ํ™œ์„ฑํ™” ๊ฒฝ๊ณ  gitlab-ee!8433 ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค ๊ด€๋ฆฌ ์˜์—ญ โ€บ ์ง€์—ญ โ€บ ๋…ธ๋“œ, ์œ„์˜ ํ™•์ธ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ.

GitLab์—์„œ 12.0 Geo๋Š” ํ•ด์‹œ๋œ ์ €์žฅ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ผํ‹ฐ๋ฏธํ„ฐ. gitlab-ee#8690.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

ํž™์ฑ— ํ†ตํ•ฉ

ํž™์ฑ— ์ง€์›๋˜์ง€ ์•Š์Œ. ๋˜ํ•œ ๋ฒ„์ „ 11.9์—์„œ๋Š” GitLab์—์„œ ๊ธฐ์กด Hipchat ํ†ตํ•ฉ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค..

์‚ญ์ œ ๋‚ ์งœ: 22 ์›” 2019 ๋„์‹œ

Docker ์‹คํ–‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” GitLab Runner์— ๋Œ€ํ•œ CentOS 6 ์ง€์›

GitLab Runner๋Š” GitLab 6์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ CentOS 11.9์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋” ์ด์ƒ CentOS 6์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” Docker ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ์˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์ด ์ž‘์—….

์‚ญ์ œ ๋‚ ์งœ: 22 ์›” 2019 ๋„์‹œ

์˜ค๋ž˜๋œ GitLab Runner ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๊ฒฝ๋กœ

Gitlab 11.9๋ถ€ํ„ฐ GitLab Runner๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ• ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œ/ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ GitLab Runner๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์ด ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉด ์ด์ „ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

GitLab 11.0์—์„œ๋Š” GitLab Runner์— ๋Œ€ํ•œ ๋ฉ”ํŠธ๋ฆญ ์„œ๋ฒ„ ๊ตฌ์„ฑ์˜ ๋ชจ์–‘์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. metrics_server ์œ ๋ฆฌํ•˜๊ฒŒ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค listen_address GitLab 12.0์—์„œ. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—…. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด ์ž‘์—….

๋ฒ„์ „ 11.3์—์„œ๋Š” GitLab Runner๊ฐ€ ์ง€์›๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์บ์‹œ ๊ณต๊ธ‰์ž์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์„ค์ •์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • S3 ๊ตฌ์„ฑ. ์— ์„ ์  ์„œ๋ฅ˜ ๋น„์น˜ ์ƒˆ ๊ตฌ์„ฑ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฐ ์ง€์นจ ํ‘œ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

GitLab 12.0์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ฒฝ๋กœ๋ฅผ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” GitLab Runner 11.9์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฒ„์ „ 12.0 ์ด์ƒ์„ ์‹คํ–‰ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ ์™ธ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

GitLab Runner์˜ ์ง„์ž…์  ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜

11.4 GitLab Runner์—๋Š” ๊ธฐ๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. FF_K8S_USE_ENTRYPOINT_OVER_COMMAND ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด #2338 ะธ #3536.

GitLab 12.0์—์„œ๋Š” ๊ธฐ๋Šฅ ์„ค์ •์ด ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์˜ฌ๋ฐ”๋ฅธ ๋™์ž‘์œผ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

GitLab Runner์˜ EOL์— ๋„๋‹ฌํ•˜๋Š” Linux ๋ฐฐํฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

GitLab Runner๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ถ€ Linux ๋ฐฐํฌํŒ์€ ํ•ด๋‹น ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

GitLab 12.0์—์„œ๋Š” GitLab Runner๊ฐ€ ๋” ์ด์ƒ ์ด๋Ÿฌํ•œ Linux ๋ฐฐํฌํŒ์— ํŒจํ‚ค์ง€๋ฅผ ๋ฐฐํฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š๋Š” ๋ฐฐํฌํŒ์˜ ์ „์ฒด ๋ชฉ๋ก์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ์  ์„œ๋ฅ˜ ๋น„์น˜. Javier Ardo์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค(ํ•˜๋น„์—๋ฅด ์ž๋ˆ) ๊ทธ๋ฅผ ์œ„ํ•ด ๊ณตํ—Œ!

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

์ด์ „ GitLab Runner Helper ๋ช…๋ น ์ œ๊ฑฐ

์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ์˜ ์ผํ™˜์œผ๋กœ Windows ๋„์ปค ์‹คํ–‰๊ธฐ ์‚ฌ์šฉ๋˜๋Š” ์ผ๋ถ€ ์ด์ „ ๋ช…๋ น์„ ํฌ๊ธฐํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋„์šฐ๋ฏธ ์ด๋ฏธ์ง€.

GitLab 12.0์—์„œ๋Š” GitLab Runner๊ฐ€ ์ƒˆ๋กœ์šด ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์žฌ์ •์˜ํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ๋„์šฐ๋ฏธ ์ด๋ฏธ์ง€. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

๊ฐœ๋ฐœ์ž๋Š” GitLab 11.10์—์„œ Git ํƒœ๊ทธ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™•์ธ๋˜์ง€ ์•Š์€ ๋ถ„๊ธฐ์˜ Git ํƒœ๊ทธ์— ๋Œ€ํ•œ ๋ฒ„์ „ ๋ฉ”๋ชจ๋ฅผ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ํŽธ์ง‘ํ•˜๋Š” ๊ฒƒ์€ ์—ญ์‚ฌ์ ์œผ๋กœ ๋‹ค์Œ์œผ๋กœ ์ œํ•œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šน๋ฌด์›๊ณผ ์ฃผ์ธ.

๊ฐœ๋ฐœ์ž๋Š” ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ณดํ˜ธ๋˜์ง€ ์•Š๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ์ˆ˜์ • ๋ฐ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” Git ํƒœ๊ทธ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. GitLab 11.10์—์„œ ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฐ ๋ณ€ํ™”๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ์ž‘์—… ํ๋ฆ„์„ ๊ฐœ์„ ํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ํƒœ๊ทธ๋ฅผ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ถŒํ•œ ๋ชจ๋ธ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌ์ž์™€ ์†Œ์œ ์ž์— ๋Œ€ํ•ด ์ด ์ œํ•œ์„ ์œ ์ง€ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋ณดํ˜ธ๋œ ํƒœ๊ทธ.

์‚ญ์ œ ๋‚ ์งœ: 22 4์›” 2019 ๋„์‹œ

Omnibus GitLab์˜ Prometheus 1.x ์ง€์›

GitLab์œผ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ 11.4, Prometheus 1.0์˜ ๋‚ด์žฅ ๋ฒ„์ „์ด Omnibus GitLab์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Prometheus 2.0 ๋ฒ„์ „์ด ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.. ๊ทธ๋Ÿฌ๋‚˜ ๋ฉ”ํŠธ๋ฆญ ํ˜•์‹์€ ๋ฒ„์ „ 1.0๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ฒ„์ „์„ 2.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด์žฅ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ.

GitLab ๋ฒ„์ „์—์„œ 12.0 ์—…๋ฐ์ดํŠธ๊ฐ€ ์•„์ง ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ Prometheus 2.0์ด ์ž๋™์œผ๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. Prometheus 1.0์˜ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ์šฉ๋‚ฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

TLS v1.1

GitLab์œผ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ 12.0 TLS v1.1์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด. ์ด๋Š” Heartbleed๋ฅผ ํฌํ•จํ•œ ์ˆ˜๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  GitLab PCI DSS 3.1์„ ์ฆ‰์‹œ ์ค€์ˆ˜ํ•˜๋„๋ก ๋งŒ๋“ญ๋‹ˆ๋‹ค.

TLS v1.1์„ ์ฆ‰์‹œ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. nginx['ssl_protocols'] = "TLSv1.2" ะฒ gitlab.rband ๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ gitlab-ctl reconfigure.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

GitLab ์„ค์น˜๋ฅผ ์œ„ํ•œ OpenShift ํ…œํ”Œ๋ฆฟ

๊ณต๋ฌด์› gitlab ์กฐํƒ€ ์ฐจํŠธ โ€” Kubernetes์—์„œ GitLab์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. OpenShift์— ๋ฐฐํฌ.

OpenShift ํ…œํ”Œ๋ฆฟ GitLab์„ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊นƒ๋žฉ 12.0.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

๋ณด์•ˆ ์ž‘์—…์˜ ์ด์ „ ์ •์˜

์†Œ๊ฐœ์™€ ํ•จ๊ป˜ ๋ณด์•ˆ ์ž‘์—…์„ ์œ„ํ•œ CI/CD ํ…œํ”Œ๋ฆฟ ์ด์ „ ์ž‘์—… ์ •์˜๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ GitLab 12.0 ์ด์ƒ์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ณ  GitLab์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ์ƒˆ๋กœ์šด ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋„๋ก ์ž‘์—… ์ •์˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”.

์‚ญ์ œ์ผ์ž: 22๋…„ 2019์›” XNUMX์ผ

๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ์‹œ์Šคํ…œ ์ •๋ณด ์„น์…˜

GitLab์€ GitLab ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ค์Œ ์œ„์น˜์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. admin/system_info, ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ •๋ณด๋Š” ์ •ํ™•ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์ด ์„น์…˜ ์‚ญ์ œ GitLab 12.0์˜ ๊ด€๋ฆฌ์ž ํŒจ๋„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ธฐํƒ€ ๋ชจ๋‹ˆํ„ฐ๋ง ์˜ต์…˜.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€