์ ์ถ๋ ๋น๋ฐ์ ์ ์ํ๊ฒ ๊ฐ์ง
์ค์๋ก ์๊ฒฉ ์ฆ๋ช ์ ๊ณต์ ์ ์ฅ์์ ์ ๋ฌํ๋ ๊ฒ์ ์์ ์ค์์ฒ๋ผ ๋ณด์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ ๊ฒฐ๊ณผ๋ ์ฌ๊ฐํ ์ ์์ต๋๋ค. ๊ณต๊ฒฉ์๊ฐ ๊ทํ์ ๋น๋ฐ๋ฒํธ๋ API ํค๋ฅผ ์ป์ผ๋ฉด ๊ทํ์ ๊ณ์ ์ ํ์ทจํ๊ณ ๊ทํ๋ฅผ ์ ๊ทธ๊ณ ๊ทํ์ ๋์ ์ฌ๊ธฐ์ ์ผ๋ก ์ฌ์ฉํ ๊ฒ์ ๋๋ค. ๋ํ ๋๋ฏธ๋ ธ ํจ๊ณผ๋ ๊ฐ๋ฅํฉ๋๋ค. ํ ๊ณ์ ์ ์ก์ธ์คํ๋ฉด ๋ค๋ฅธ ๊ณ์ ์๋ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ํ์ด ํฌ๊ธฐ ๋๋ฌธ์ ์ ์ถ๋ ๋น๋ฐ์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์์๋ด๋ ๊ฒ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค.
์ด๋ฒ ๋ฆด๋ฆฌ์ค์์๋ ๋ค์ ์ต์
์ ์๊ฐํฉ๋๋ค.
์ ์ ํ ๋ณ๊ฒฝ ๊ด๋ฆฌ ๋ณด์ฅ
์กฐ์ง์ด ์ฑ์ฅํ๊ณ ๋ณต์กํด์ง์ ๋ฐ๋ผ ์กฐ์ง์ ์ฌ๋ฌ ๋ถ๋ถ ๊ฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ด ๋์ฑ ์ด๋ ค์์ง๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ฉ์๊ฐ ๋ง์์ง๊ณ ์์ ์ด ๋์์ง์๋ก ๋ถ์ ํํ๊ฑฐ๋ ์์ ํ์ง ์์ ์ฝ๋๋ฅผ ๋ณํฉํ๋ ๊ฒฐ๊ณผ๋ ๋์ฑ ์ฌ๊ฐํด์ง๋๋ค. ๋ง์ ์กฐ์ง์์๋ ์ํ์ด ๋งค์ฐ ๋๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ฅผ ๋ณํฉํ๊ธฐ ์ ์ ์ ์ ํ ๊ฒํ ํ๋ก์ธ์ค๋ฅผ ๋ณด์ฅํ๋ ๊ฒ์ด ์๊ฒฉํ ์๊ตฌ ์ฌํญ์ ๋๋ค.
GitLab 11.9๋ ๋ค์ ๋๋ถ์ ๋ ๋ง์ ์ ์ด๋ ฅ๊ณผ ๋ ํจ์จ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ด๋ฅผ ํตํด ์กฐ์ง์ ๋ฌธ์ , ์ฝ๋, ํ์ดํ๋ผ์ธ ๋ฐ ๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ์ก์ธ์คํ์ฌ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ณ ํด๊ฒฐ ํ๋ก์ธ์ค ์๋๋ฅผ ๋์ด๋ ๋จ์ผ GitLab ์ฑ์ ๋จ์์ฑ์ ์ ์งํ๋ฉด์ ๋ณต์กํ ํด๊ฒฐ ํ๋ก์ธ์ค๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
ChatOps๋ ์ด์ ์คํ ์์ค์ ๋๋ค.
GitLab ChatOps๋ CI/CD ์์
์ ์คํํ๊ณ Slack ๋ฐ Mattermost์ ๊ฐ์ ์ฑํ
์ฑ์์ ์ง์ ์ํ๋ฅผ ์ฟผ๋ฆฌํ ์ ์๋ ๊ฐ๋ ฅํ ์๋ํ ๋๊ตฌ์
๋๋ค.
ChatOps์ ๊ฒฝ์ฐ ์ด ๊ธฐ๋ฅ์ด ๋ชจ๋ ์ฌ๋์๊ฒ ์ ์ฉํ ์ ์์ผ๋ฉฐ ์ปค๋ฎค๋ํฐ ์ฐธ์ฌ๊ฐ ๊ธฐ๋ฅ ์์ฒด์ ๋์์ด ๋ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค.
GitLab 11.9์์ ์ฐ๋ฆฌ๋
๊ทธ๋ฆฌ๊ณ ํจ์ฌ ๋!
์ด๋ฒ ๋ฆด๋ฆฌ์ค์๋ ์ฌ์ฉํ ์ ์๋ ํ๋ฅญํ ๊ธฐ๋ฅ์ด ๋๋ฌด ๋ง์ต๋๋ค.
๊ฐ์ฅ ์์คํ ์ง์(
MVP ) ์ด๋ฒ ๋ฌ์ Marcel Amirault(๋ง๋ฅด์ ์๋ฏธ๋ก )
Marcel์ GitLab ๋ฌธ์๋ฅผ ๊ฐ์ ํ๋ ๋ฐ ์ง์์ ์ผ๋ก ๋์์ ์ฃผ์์ต๋๋ค. ๊ทธ๋ง์ด ํ์ด์ ๋ฌธ์์ ํ์ง๊ณผ ์ ์ฉ์ฑ์ ๊ฐ์ ํฉ๋๋ค. Domo arigato [๋๋จํ ๊ฐ์ฌํฉ๋๋ค(์ผ๋ณธ์ด) - ์ฝ. trans.] ๋ง๋ฅด์ ๋ ์ง์ฌ์ผ๋ก ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
GitLab 11.9 ๋ฆด๋ฆฌ์ค์ ์ถ๊ฐ๋ ์ฃผ์ ๊ธฐ๋ฅ
์ ์ฅ์์์ ๋น๋ฐ ๋ฐ ์๊ฒฉ ์ฆ๋ช ๊ฒ์
(๊ถ๊ทน๊ธฐ, ๊ณจ๋)
๊ฐ๋ฐ์๊ฐ ์๋์น ์๊ฒ ๋น๋ฐ๊ณผ ์๊ฒฉ ์ฆ๋ช ์ ์๊ฒฉ ์ ์ฅ์์ ์ ์ถํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋์ด ์ด ์์ค์ ์ก์ธ์คํ ์ ์๊ฑฐ๋ ํ๋ก์ ํธ๊ฐ ๊ณต๊ฐ๋ ๊ฒฝ์ฐ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ๋ ธ์ถ๋์ด ๊ณต๊ฒฉ์๊ฐ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ํ๊ฒฝ๊ณผ ๊ฐ์ ๋ฆฌ์์ค์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
GitLab 11.9์๋ "๋น๋ฐ ํ์ง"๋ผ๋ ์๋ก์ด ํ ์คํธ๊ฐ ์์ต๋๋ค. API ํค์ ๊ฑฐ๊ธฐ์ ์์ด์๋ ์ ๋๋ ๊ธฐํ ์ ๋ณด๋ฅผ ์ฐพ๊ธฐ ์ํด ์ ์ฅ์์ ๋ด์ฉ์ ์ค์บํฉ๋๋ค. GitLab์ ๋ณํฉ ์์ฒญ ์์ ฏ, ํ์ดํ๋ผ์ธ ๋ณด๊ณ ์ ๋ฐ ๋ณด์ ๋์๋ณด๋์ SAST ๋ณด๊ณ ์์ ๊ฒฐ๊ณผ๋ฅผ ํ์ํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
์ ๋ํด ์ด๋ฏธ SAST๋ฅผ ํ์ฑํํ ๊ฒฝ์ฐ์๋ ์๋ฌด ์์
๋ ์ํํ ํ์๊ฐ ์์ผ๋ฉฐ ์ด ์๋ก์ด ๊ธฐ๋ฅ์ ํ์ฉํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ตฌ์ฑ์๋ ํฌํจ๋์ด ์์ต๋๋ค
๋ณํฉ ์์ฒญ ํด๊ฒฐ ๊ท์น
(ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฐ, ์ค๋ฒ, ๊ณจ๋)
์ฝ๋ ๊ฒํ ๋ ๋ชจ๋ ์ฑ๊ณต์ ์ธ ํ๋ก์ ํธ์ ํ์ ์์์ด์ง๋ง ๋๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํด์ผ ํ๋์ง ํญ์ ๋ช ํํ ๊ฒ์ ์๋๋๋ค. ๊ฐ๋ฐํ, ์ฌ์ฉ์ ๊ฒฝํํ, ์์ฐํ ๋ฑ ๋ค์ํ ํ์ ๋ฆฌ๋ทฐ์ด๋ฅผ ๋๋ ๊ฒ์ด ๋ฐ๋์งํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๊ถํ ๊ท์น์ ์ฌ์ฉํ๋ฉด ์น์ธ๋ ์น์ธ์์ ๋ฒ์์ ์ต์ ๊ถํ ์๋ฅผ ์ ์ํ์ฌ ์ฝ๋ ๊ฒํ ์ ๊ด๋ จ๋ ์ฌ๋๋ค ๊ฐ์ ์ํธ ์์ฉ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค. ๋ณํฉ ์์ฒญ ์์ ฏ์ ํด๊ฒฐ ๊ท์น์ด ํ์๋๋ฏ๋ก ๋ค์ ๊ฒํ ์๋ฅผ ๋น ๋ฅด๊ฒ ํ ๋นํ ์ ์์ต๋๋ค.
GitLab 11.8์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ถํ ๊ท์น์ด ๋นํ์ฑํ๋์์ต๋๋ค. GitLab 11.9๋ถํฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. GitLab 11.3์์๋ ์ต์
์ ๋์
ํ์ต๋๋ค.
ChatOps๋ฅผ ์ฝ์ด๋ก ์ด๋
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
์๋ GitLab Ultimate 10.6์ ๋์
๋ ChatOps๋ GitLab Core๋ก ์ด๋ํ์ต๋๋ค. GitLab ChatOps๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ Slack์ ํตํด GitLab CI ์์
์ ์คํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ์ง์นจ์ ๋ฐ๋ผ ์ด ๊ธฐ๋ฅ์ ์คํ ์์คํํ๊ณ ์์ต๋๋ค.
๊ธฐ๋ฅ ๋งค๊ฐ๋ณ์ ๊ฐ์ฌ
(ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฐ, ์ค๋ฒ, ๊ณจ๋)
์ด์ ๊ธฐ๋ฅ ๋งค๊ฐ๋ณ์ ์ถ๊ฐ, ์ญ์ , ๋ณ๊ฒฝ๊ณผ ๊ฐ์ ์์ ์ด GitLab ๊ฐ์ฌ ๋ก๊ทธ์ ๊ธฐ๋ก๋๋ฏ๋ก ๋ฌด์์ด ์ธ์ ๋ณ๊ฒฝ๋์๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ฌ๊ณ ๊ฐ ๋ฐ์ํ๋๋ฐ ์ต๊ทผ์ ๋ฌด์์ด ๋ฐ๋์๋์ง ํ์ธํด์ผ ํฉ๋๊น? ์๋๋ฉด ๊ฐ์ฌ์ ์ผ๋ถ๋ก ๊ธฐ๋ฅ ๋งค๊ฐ๋ณ์๊ฐ ์ด๋ป๊ฒ ๋ณ๊ฒฝ๋์๋์ง ํ์ธํด์ผ ํฉ๋๊น? ์ด์ ์ด ์์ ์ ๋งค์ฐ ์ฝ์ต๋๋ค.
๋ณํฉ ์์ฒญ ์ทจ์ฝ์ ํด๊ฒฐ
(๊ถ๊ทน๊ธฐ, ๊ณจ๋)
์ฝ๋ ์ทจ์ฝ์ ์ ์ ์ํ๊ฒ ํด๊ฒฐํ๋ ค๋ฉด ํ๋ก์ธ์ค๊ฐ ๋จ์ํด์ผ ํฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์์ ์ ์ฑ
์์ ์ง์คํ ์ ์๋๋ก ๋ณด์ ํจ์น๋ฅผ ๋จ์ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. GitLab 11.7์์ ์ฐ๋ฆฌ๋
GitLab 11.9์์๋ ์ด ํ๋ก์ธ์ค๊ฐ ์๋ํ๋์์ต๋๋ค. GitLab ์น ์ธํฐํ์ด์ค๋ฅผ ๋ ๋์ง ์๊ณ ์ทจ์ฝ์ ์ ์์ ํ์ธ์. ๋ณํฉ ์์ฒญ์ ์ทจ์ฝ์ ์ ๋ณด ์ฐฝ์์ ์ง์ ์์ฑ๋๋ฉฐ ์ด ์ ๋ถ๊ธฐ์๋ ์ด๋ฏธ ์์ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์ง ํ์ธํ ํ ํ์ดํ๋ผ์ธ์ด ์ ์์ด๋ฉด ์ ์คํธ๋ฆผ ๋ถ๊ธฐ์ ์์ ์ฌํญ์ ์ถ๊ฐํฉ๋๋ค.
๊ทธ๋ฃน ๋ณด์ ํจ๋์ ์ปจํ ์ด๋ ๊ฒ์ฌ ๊ฒฐ๊ณผ ํ์
(๊ถ๊ทน๊ธฐ, ๊ณจ๋)
ํ์ ๋ณด์ ๋์๋ณด๋๋ฅผ ํตํด ํ์ ์์ ์ ๊ฐ์ฅ ์ค์ํ ๋ฌธ์ ์ ์ง์คํ ์ ์์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋ชจ๋ ์ ์ฌ์ ์ทจ์ฝ์ฑ์ ๋ํ ๋ช ํํ๊ณ ์์ธํ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋์๋ณด๋์๋ ํ์ํ ๋ชจ๋ ์ ๋ณด๊ฐ ํ ๊ณณ์ ํฌํจ๋์ด ์๊ณ ์ฌ์ฉ์๊ฐ ์ทจ์ฝ์ ์ ํด๊ฒฐํ๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์์ธํ ์ดํด๋ณผ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
GitLab 11.9์์๋ ๊ธฐ์กด SAST ๋ฐ ์ข ์์ฑ ์ค์บ ๊ฒฐ๊ณผ ์ธ์ ์ปจํ ์ด๋ ์ค์บ ๊ฒฐ๊ณผ๊ฐ ๋์๋ณด๋์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ ๋ฌธ์ ์ ์์ธ์ ๊ด๊ณ์์ด ์ ์ฒด ๊ฐ์๊ฐ ํ๊ณณ์ ์์ต๋๋ค.
๋ณด์ ์์ ์ ์ํ 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์์๋ ์ฃผ์ ์ ๋ํ ํ ๋ก ์ ์งํํฉ๋๋ค. ์ง๊ธ๊น์ง๋ ์๋๊ธ์ ์ด ์ฌ๋์ด ์ฒ์๋ถํฐ ํ ๋ก ์ ์ํ๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํด์ผ ํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด ์ ํ์ ์ํํ์ต๋๋ค. GitLab์์ ์ด์, ๋ณํฉ ์์ฒญ, ์ํฝ์ ๋ํ ์๊ฒฌ์ ๋ฃ๊ณ ์๋ตํ์ฌ ํ ๋ก ์ ์์ํ์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ํ์ด ๋์ฑ ์ฒด๊ณ์ ์ผ๋ก ์ํธ ์์ฉํ ์ ์์ต๋๋ค.
.NET, Go, iOS ๋ฐ Pages์ฉ ํ๋ก์ ํธ ํ ํ๋ฆฟ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
์ฌ์ฉ์๊ฐ ์ ํ๋ก์ ํธ๋ฅผ ๋ ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์๋ก์ด ํ๋ก์ ํธ ํ ํ๋ฆฟ์ ์ ๊ณตํฉ๋๋ค.
- ์ต์ด์
.NET Core ํ๋ก์ ํธ ํ ํ๋ฆฟ , ์ฌ๊ธฐ์๋ CI๊ฐ ํฌํจ๋ ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํฌํจ๋ฉ๋๋ค. - ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ํ
ํ๋ฆฟ
Go ๋ง์ดํฌ๋ก ๋ง์ดํฌ๋ก์๋น์ค ํ๋ ์์ํฌ ๊ทธ๋ฆฌ๊ณ GitLab CI/CD. iOS ์ฑ โHello, world!โ , GitLab์์ ์ด๊ธฐ ์ฌ์ฉ์ ์ ์๊ฐ ์ค๋น๋์์ต๋๋ค. iOS ๋น๋์๋ ์ ์ฉ MacOS ์คํ๊ธฐ๊ฐ ํ์ํ๋ฏ๋ก GitLab CI/CD์ ํจ๊ป ์ฌ์ฉํ๋ ค๋ฉด ์์ฒด ๋น๋ ์๋ฒ๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.GitLab ํ์ด์ง ํ ํ๋ฆฟ Netlify์ ํจ๊ป ์๋ํ๋๋ก ๊ตฌ์ฑ๋์์ต๋๋ค.
์ฝ๋ ์์ ์์ ๋ณํฉ ์์ฒญ์ ๋ํ ๊ถํ์ด ํ์ํฉ๋๋ค.
(ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฐ, ์ค๋ฒ, ๊ณจ๋)
๋๊ฐ ๋ณํฉ ์์ฒญ์ ์น์ธํ๋์ง ํญ์ ๋ช ํํ์ง๋ ์์ต๋๋ค.
GitLab์ ์ด์ ์์ฒญ์ด ์์ ํ๋ ํ์ผ์ ๋ฐ๋ผ ๋ณํฉ ์์ฒญ์ ์น์ธํ๋๋ก ์๊ตฌํ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. CODEOWNERS
, ํ์์ ๋ค์๊ณผ ์ ์ฌํฉ๋๋ค. gitattributes
.
์ฝ๋ ์์ ์๋ฅผ ๋ณํฉ ์์ฒญ ์น์ธ ๋ด๋น์๋ก ์๋ ํ ๋นํ๋ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
Web IDE์์ ํ์ผ ์ด๋
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
์ด์ ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ๋ฐ๊พธ๋ฉด ์ด๋ฅผ Web IDE์์ ์ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ์ ์ฅ์๋ก ์ด๋ํ ์ ์์ต๋๋ค.
ํ๊ทธ๋ ์ํ๋ฒณ์์ผ๋ก
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
GitLab ํ๊ทธ๋ ๋ฏฟ์ ์ ์์ ์ ๋๋ก ๋ค์ฌ๋ค๋ฅํ๋ฉฐ ํ์ ์ง์์ ์ผ๋ก ํ๊ทธ์ ์๋ก์ด ์ฉ๋๋ฅผ ์ฐพ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์๋ ์ด์, ๋ณํฉ ์์ฒญ ๋๋ ์ํฝ์ ๋ง์ ํ๊ทธ๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
GitLab 11.9์์๋ ๋ผ๋ฒจ ์ฌ์ฉ์ด ์ข ๋ ์ฌ์์ก์ต๋๋ค. ์ด์, ๋ณํฉ ์์ฒญ ๋ฐ ์ํฝ์ ๊ฒฝ์ฐ ์ฌ์ด๋๋ฐ์ ํ์๋๋ ๋ ์ด๋ธ์ด ์ํ๋ฒณ ์์๋ก ์ ๋ ฌ๋ฉ๋๋ค. ์ด๋ ์ด๋ฌํ ๊ฐ์ฒด ๋ชฉ๋ก์ ๋ณผ ๋๋ ์ ์ฉ๋ฉ๋๋ค.
์์ ๋ณ๋ก ์์ ์ ํํฐ๋งํ ๋ ๋น ๋ฅธ ๋๊ธ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
์ฐ๋ฆฌ๋ ์ต๊ทผ ์ฌ์ฉ์๊ฐ ์์ , ๋ณํฉ ์์ฒญ ๋๋ ์ํฝ๋ณ๋ก ํ๋ ํผ๋๋ฅผ ํํฐ๋งํ์ฌ ๋๊ธ์ด๋ ์์คํ ๋ ธํธ์๋ง ์ง์คํ ์ ์๋ ๊ธฐ๋ฅ์ ๋์ ํ์ต๋๋ค. ์ด ์ค์ ์ ์์คํ ์ ๊ฐ ์ฌ์ฉ์์ ๋ํด ์ ์ฅ๋๋ฉฐ, ๋ฉฐ์น ํ ๋ฌธ์ ๋ฅผ ๋ณผ ๋ ํํฐ๋ง๋ ํผ๋๊ฐ ํ์๋๋ค๋ ์ฌ์ค์ ์ฌ์ฉ์๊ฐ ๊นจ๋ซ์ง ๋ชปํ ์๋ ์์ต๋๋ค. ๊ทธ๋ ๋๊ธ์ ๋จ๊ธธ ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด ์ํธ ์์ฉ์ ๊ฐ์ ํ์ต๋๋ค. ์ด์ ์ฌ์ฉ์๋ ํผ๋ ์๋จ์ผ๋ก ๋ค์ ์คํฌ๋กคํ์ง ์๊ณ ๋ ๋๊ธ์ ๋จ๊ธธ ์ ์๋ ๋ชจ๋๋ก ๋น ๋ฅด๊ฒ ์ ํํ ์ ์์ต๋๋ค. ์ด๋ ์์ , ๋ณํฉ ์์ฒญ ๋ฐ ์ํฝ์ ์ ์ฉ๋ฉ๋๋ค.
ํ์ ์ํฝ ์์ ๋ณ๊ฒฝ
(๊ถ๊ทน๊ธฐ, ๊ณจ๋)
์ฐ๋ฆฌ๋ ์ต๊ทผ์ ์ถ์ํ์ต๋๋ค
์ด์ ํ์ ์ด์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋๋๊ทธ ์ค ๋๋กญ๋ง์ผ๋ก ํ์ ์ํฝ์ ์์๋ฅผ ์ฌ์ ๋ ฌํ ์ ์์ต๋๋ค. ํ์์๋ ์์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ์ ์์๋ฅผ ๋ฐ์ํ๊ฑฐ๋ ์์ ์ ์๋ฃํด์ผ ํ๋ ์์๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
์น ๋ฐ ์ด๋ฉ์ผ์ ์ฌ์ฉ์ ์ ์ ๋จธ๋ฆฌ๊ธ ๋ฐ ๋ฐ๋ฅ๊ธ ์์คํ ๋ฉ์์ง
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฐ)
์ด์ ์ GitLab์ ๋ชจ๋ ํ์ด์ง์ ์ฌ์ฉ์ ์ ์ ๋จธ๋ฆฌ๊ธ ๋ฐ ๋ฐ๋ฅ๊ธ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ๋จ๊ฑฐ์ด ๋ฐ์์ ์ป์์ผ๋ฉฐ ํ์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ GitLab ์ธ์คํด์ค์ ๊ด๋ จ๋ ์์คํ ๋ฉ์์ง์ ๊ฐ์ ์ค์ํ ์ ๋ณด๋ฅผ ๊ณต์ ํฉ๋๋ค.
๋ ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ ์ ์๋๋ก ์ด ๊ธฐ๋ฅ์ Core์ ๋์ ํ๊ฒ ๋์ด ๊ธฐ์๊ฒ ์๊ฐํฉ๋๋ค. ๋ํ ์ฌ์ฉ์์ ๋ค๋ฅธ GitLab ํฐ์นํฌ์ธํธ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด GitLab์ ํตํด ์ ์ก๋ ๋ชจ๋ ์ด๋ฉ์ผ์ ์ ํ์ ์ผ๋ก ๋์ผํ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
๊ธฐ๋ฐ ์์ ์ผ๋ก ํํฐ๋ง
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
๊ธฐ๋ฐ ๋ฌธ์ ๋ ํ์ด ๊ณต๊ฐ ํ๋ก์ ํธ ๋ด์ ๋ฏผ๊ฐํ ์ฃผ์ ์ ๋ํด ๋น๊ณต๊ฐ ํ ๋ก ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ ์ฉํ ๋๊ตฌ์ ๋๋ค. ํนํ ๋ณด์ ์ทจ์ฝ์ ์ ํด๊ฒฐํ๋ ๋ฐ ์ด์์ ์ ๋๋ค. ์ง๊ธ๊น์ง๋ ๋ฏผ๊ฐํ ์ ๋ฌด๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ฝ์ง ์์์ต๋๋ค.
GitLab 11.9์์๋ ์ด์ GitLab ๋ฌธ์ ๋ชฉ๋ก์ด ๋ฏผ๊ฐํ ๋ฌธ์ ๋๋ ๋ฏผ๊ฐํ์ง ์์ ๋ฌธ์ ๋ณ๋ก ํํฐ๋ง๋ฉ๋๋ค. ์ด๋ API๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ๊ฒ์ํ๋ ๊ฒฝ์ฐ์๋ ์ ์ฉ๋ฉ๋๋ค.
๊ธฐ์ฌํด์ฃผ์ Robert Schilling์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ฐฐํฌ ํ Knative ๋๋ฉ์ธ ํธ์ง
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
Knative๋ฅผ ์ค์นํ ๋ ์ฌ์ฉ์ ์ ์ ๋๋ฉ์ธ์ ์ง์ ํ๋ฉด ๊ณ ์ ํ ์๋ํฌ์ธํธ์์ ๋ค์ํ ์๋ฒ๋ฆฌ์ค ์ ํ๋ฆฌ์ผ์ด์ /๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ด์ GitLab์ Kubernetes ํตํฉ์ ํตํด Knative๋ฅผ Kubernetes ํด๋ฌ์คํฐ์ ๋ฐฐํฌํ ํ ์ฌ์ฉ์ ๋๋ฉ์ธ์ ๋ณ๊ฒฝ/์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
Kubernetes CA ์ธ์ฆ์ ํ์ ํ์ธ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
๊ธฐ์กด Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์ถ๊ฐํ ๋ ์ด์ GitLab์ ์ ๋ ฅ๋ CA ์ธ์ฆ์๊ฐ ์ ํจํ PEM ํ์์ธ์ง ํ์ธํฉ๋๋ค. ์ด๋ Kubernetes ํตํฉ์ผ๋ก ์ธํ ์ ์ฌ์ ์ธ ์ค๋ฅ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
๋ณํฉ ์์ฒญ ๋น๊ต ์ ํธ๋ฆฌํฐ๋ฅผ ์ ์ฒด ํ์ผ๋ก ํ์ฅ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
๋ณํฉ ์์ฒญ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณผ ๋ ์ด์ ํ์ผ๋ณ๋ก diff ์ ํธ๋ฆฌํฐ๋ฅผ ํ์ฅํ์ฌ ๋ ๋ง์ ์ปจํ ์คํธ๋ฅผ ์ํด ์ ์ฒด ํ์ผ์ ํ์ํ๊ณ ๋ณ๊ฒฝ๋์ง ์์ ์ค์ ์ค๋ช ์ ๋จ๊ธธ ์ ์์ต๋๋ค.
ํน์ ํ์ผ์ด ๋ณ๊ฒฝ๋ ๋๋ง ๋ณํฉ ์์ฒญ์ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์์ ์ ์คํํฉ๋๋ค.
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
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 11.9์์๋ ์ด ๊ด๊ณ๋ฅผ ๋ ์ฝ๊ฒ ๋ณผ ์ ์๋๋ก ๋ง๋ค์์ต๋๋ค. ์ด์ ํน์ ์ํฝ์ ๋ชจ ์ํฝ๋ฟ๋ง ์๋๋ผ ์ค๋ฅธ์ชฝ ์ฌ์ด๋๋ฐ์์ ์ ์ฒด ์ํฝ ํธ๋ฆฌ๋ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ฌํ ์์ฌ์๊ฐ ์ข ๋ฃ๋์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ผ๋ฉฐ ์ง์ ํด๋น ์์ฌ์๋ก ์ด๋ํ ์๋ ์์ต๋๋ค.
์ด๋๋๊ณ ๋ซํ ์์ ์์ ์ ์์ ์ ์ฐ๊ฒฐ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
GitLab์์๋ ์ฌ์ด๋๋ฐ๋ ๋น ๋ฅธ ์์ ์ ์ฌ์ฉํ์ฌ ์ด์๋ฅผ ๋ค๋ฅธ ํ๋ก์ ํธ๋ก ์ฝ๊ฒ ์ด๋ํ ์ ์์ต๋๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ธฐ์กด ์์ ์ด ๋ซํ๊ณ ์์คํ ๋ฉ๋ชจ ๋ฐ ์ฌ์ด๋๋ฐ ์์ฑ์ ํฌํจํ์ฌ ๋ชจ๋ ๋ณต์ฌ๋ ๋ฐ์ดํฐ์ ํจ๊ป ๋์ ํ๋ก์ ํธ์ ์ ์์ ์ด ์์ฑ๋ฉ๋๋ค. ์ด๊ฒ์ ํ๋ฅญํ ๊ธฐ๋ฅ์ ๋๋ค.
์ด๋์ ๋ํ ์์คํ ๋ฉ๋ชจ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ซํ ์์ ์ ๋ณผ ๋ ์ฌ์ฉ์๋ ํผ๋์ค๋ฌ์ํ๊ณ ์ด๋์ผ๋ก ์ธํด ์์ ์ด ๋ซํ๋ค๋ ์ฌ์ค์ ๊นจ๋ซ์ง ์์ ์ ์์ต๋๋ค.
์ด๋ฒ ๋ฆด๋ฆฌ์ค์์๋ ๋ซํ ์ด์์ ํ์ด์ง ์๋จ์ ์๋ ์์ด์ฝ์ ํตํด ํด๋น ์ด์๊ฐ ์ด๋๋์์์ ๋ช ํํ ์ ์ ์์ผ๋ฉฐ, ์ด์ ์ด์๋ฅผ ์ฐพ๋ ์ฌ๋์ ๋๊ตฌ๋ ๋น ๋ฅด๊ฒ ํ์ธํ ์ ์๋๋ก ์ ์ด์์ ๋ํ ๋งํฌ๋ ํฌํจํ๊ณ ์์ต๋๋ค. ์๋ก์ด ๊ฒ์ผ๋ก ์ด๋ํ์ญ์์ค.
YouTrack ํตํฉ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
GitLab์ ๋ค์ํ ์ธ๋ถ ๋ฌธ์ ์ถ์ ์์คํ ๊ณผ ํตํฉ๋์ด ํ์ด ์ ํํ ๋ฌธ์ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ ์งํ๋ฉด์ ๋ค๋ฅธ ๊ธฐ๋ฅ์ GitLab์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํด์ค๋๋ค.
์ด๋ฒ ๋ฆด๋ฆฌ์ค์๋ JetBrains์ YouTrack์ ํตํฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
๊ธฐ์ฌํด์ฃผ์ Kotau Jauchen์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ณํฉ ์์ฒญ ํ์ผ ํธ๋ฆฌ ํฌ๊ธฐ ์กฐ์
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
๋ณํฉ ์์ฒญ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณผ ๋ ์ด์ ํ์ผ ํธ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ์ฌ ๊ธด ํ์ผ ์ด๋ฆ์ ํ์ํ๊ฑฐ๋ ์์ ํ๋ฉด์์ ๊ณต๊ฐ์ ์ ์ฝํ ์ ์์ต๋๋ค.
์ต๊ทผ ์์ ํ์์ค๋ก ์ด๋
(์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
๋์๋ณด๋๋ ๋งค์ฐ ์ ์ฉํ๋ฉฐ ํ์ ๊ฐ ํ๋ก์ ํธ ๋ฐ ๊ทธ๋ฃน์ ๋ํด ์ฌ๋ฌ ๋์๋ณด๋๋ฅผ ๋ง๋ญ๋๋ค. ์ต๊ทผ์๋ ๊ด์ฌ ์๋ ๋ชจ๋ ํจ๋์ ๋น ๋ฅด๊ฒ ํํฐ๋งํ ์ ์๋ ๊ฒ์์ฐฝ์ ์ถ๊ฐํ์ต๋๋ค.
GitLab 11.9์์๋ ์น์ ๋ ๋์ ํ์ต๋๋ค. ์ต๊ทผ ๋๋กญ๋ค์ด ๋ชฉ๋ก์์ ์ด๋ ๊ฒ ํ๋ฉด ์ต๊ทผ์ ์ํธ์์ฉํ ํจ๋๋ก ๋น ๋ฅด๊ฒ ์ด๋ํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ์๊ฐ ๋ณดํธ๋ ๋ธ๋์น๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
๋ณดํธ๋ ๋ถ๊ธฐ๋ ๊ฒํ ๋์ง ์์ ์ฝ๋๊ฐ ์ด๋๋๊ฑฐ๋ ๋ณํฉ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๊ตฌ๋ ๋ณดํธ๋ ๋ถ๊ธฐ๋ฅผ ์ด๋ํ๋ ๊ฒ์ด ํ์ฉ๋์ง ์์ผ๋ฉด ๋๊ตฌ๋ ์๋ก์ด ๋ณดํธ๋ ๋ถ๊ธฐ(์: ๋ฆด๋ฆฌ์ค ๋ถ๊ธฐ)๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
GitLab 11.9์์ ๊ฐ๋ฐ์๋ GitLab ๋๋ API๋ฅผ ํตํด ์ด๋ฏธ ๋ณดํธ๋ ๋ธ๋์น์์ ๋ณดํธ๋ ๋ธ๋์น๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ค์๋ก ์ ๋ณดํธ ๋ธ๋์น๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด Git์ ์ฌ์ฉํ์ฌ ์ ๋ณดํธ ๋ธ๋์น๋ฅผ ์ด๋ํ๋ ๊ฒ์ ์ฌ์ ํ โโ์ ํ๋์ด ์์ต๋๋ค.
์คํ ํฌํฌ๋ฅผ ์ํ Git ๊ฐ์ฒด ์ค๋ณต ์ ๊ฑฐ(๋ฒ ํ)
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฐ)
Forking์ ์ฌ์ฉํ๋ฉด ๋๊ตฌ๋ ์ฐ๊ธฐ ๊ถํ ์์ด ์ ์ฅ์๋ฅผ ์ ํ๋ก์ ํธ์ ๋ณต์ฌํ๊ธฐ๋ง ํ๋ฉด ์คํ ์์ค ํ๋ก์ ํธ์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค. ์์ฃผ ๋ถ๊ธฐ๋๋ Git ์ ์ฅ์์ ์ ์ฒด ๋ณต์ฌ๋ณธ์ ์ ์ฅํ๋ ๊ฒ์ ๋นํจ์จ์ ์
๋๋ค. ์ด์ Git์ผ๋ก alternatives
ํฌํฌ๋ ๊ฐ์ฒด ํ์ ์๋ ์์ ํ๋ก์ ํธ์ ๊ณตํต ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ์ฌ ๋์คํฌ ์คํ ๋ฆฌ์ง ์๊ตฌ ์ฌํญ์ ์ค์
๋๋ค.
ํฌํฌ ๊ฐ์ฒด ํ์ ํด์๋ ์ ์ฅ์๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ ์ด๋ ค ์๋ ํ๋ก์ ํธ์ ๋ํด์๋ง ์์ฑ๋ฉ๋๋ค. ๊ฐ์ฒด ํ์ ํจ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฑํ๋ฉ๋๋ค. object_pools
.
ํ ๋น๋ ์น์ธ์๋ณ๋ก ๋ณํฉ ์์ฒญ ๋ชฉ๋ก ํํฐ๋ง
(์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
์ฝ๋ ๊ฒํ ๋ ์ฑ๊ณต์ ์ธ ํ๋ก์ ํธ์ ์ผ๋ฐ์ ์ธ ๊ดํ์ด์ง๋ง ๊ฒํ ์๊ฐ ๋ณํฉ ์์ฒญ์ ์ถ์ ํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
GitLab 11.9์์๋ ๋ณํฉ ์์ฒญ ๋ชฉ๋ก์ด ํ ๋น๋ ์น์ธ์๋ณ๋ก ํํฐ๋ง๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฒํ ์๋ก ์ถ๊ฐ๋ ๋ณํฉ ์์ฒญ์ ์ฐพ์ ์ ์์ต๋๋ค.
๊ธฐ์ฌํด์ฃผ์ Glewin Wiechert์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค(
๋ณํฉ ์์ฒญ์ ๋ค์ ๋ฐ ์ด์ ํ์ผ์ ๋ํ ๋ฐ๋ก๊ฐ๊ธฐ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
๋ณํฉ ์์ฒญ์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณด๋ ๋์ ๋ค์์ ์ฌ์ฉํ์ฌ ํ์ผ ๊ฐ์ ๋น ๋ฅด๊ฒ ์ ํํ ์ ์์ต๋๋ค. ]
๋๋ j
๋ค์ ํ์ผ๋ก ์ด๋ํ๋ ค๋ฉด [
๋๋ k
์ด์ ํ์ผ๋ก ์ด๋ํฉ๋๋ค.
๋จ์ํ .gitlab-ci.yml
์๋ฒ๋ฆฌ์ค ํ๋ก์ ํธ์ ๊ฒฝ์ฐ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
๊ธฐ๋ฅ์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ include
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์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค.
์ด๋ ์นด์ดํฐ๋ ๋ชฉ๋ก์ ๋ฐ์ดํฐ์๋ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉฐ ๋ค์ด์ด๊ทธ๋จ์ ํ์๋ ๋ฐ์ดํฐ ํฌ์ธํธ์๋ง ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
ํ๊ทธ์ ๋ํ Auto DevOps ๋น๋ ์์ ์ถ๊ฐ
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
Auto DevOps ๋น๋ ๋จ๊ณ์์๋ Heroku ํ๋ก์ ํธ ๋๋ ๋น๋ํฉ์ Dockerfile์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋น๋๋ฅผ ์์ฑํฉ๋๋ค.
GitLab 11.9์์๋ ํ๊ทธ ํ์ดํ๋ผ์ธ์ ํฌํจ๋ ๊ฒฐ๊ณผ Docker ์ด๋ฏธ์ง์ ์ด๋ฆ์ด SHA ์ปค๋ฐ ๋์ ํ๊ทธ ์ปค๋ฐ์ ์ฌ์ฉํ์ฌ ๊ธฐ์กด ์ด๋ฏธ์ง ์ด๋ฆ๊ณผ ์ ์ฌํ๊ฒ ์ง์ ๋ฉ๋๋ค.
๊ธฐ์ฌํด์ฃผ์ Aaron Walker์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
Code Climate์ ๋ฒ์ 0.83.0์ผ๋ก ์ ๋ฐ์ดํธ
(์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
GitLab
GitLab 11.9์์๋ ์์ง์ ์ต์ ๋ฒ์ (
๊ธฐ์ฌํด์ฃผ์ GitLab Core ํ์ Takuya Noguchi์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค(
์ธก์ ํญ๋ชฉ ํจ๋ ํ๋/์ถ์ ๋ฐ ์คํฌ๋กค
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
์ฑ๋ฅ ์ด์์ ์กฐ์ฌํ ๋ ํน์ ์งํ์ ๊ฐ๋ณ ๋ถ๋ถ์ ์์ธํ ์ดํด๋ณด๋ ๊ฒ์ด ๋์์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
GitLab 11.9๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ์ธก์ ํญ๋ชฉ ํจ๋์์ ๊ฐ๋ณ ๊ธฐ๊ฐ์ ํ๋ํ๊ณ , ์ ์ฒด ๊ธฐ๊ฐ์ ์คํฌ๋กคํ๊ณ , ์๋ ์๊ฐ ๊ฐ๊ฒฉ ๋ณด๊ธฐ๋ก ์ฝ๊ฒ ๋์๊ฐ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ์ํ ์ด๋ฒคํธ๋ฅผ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์กฐ์ฌํ ์ ์์ต๋๋ค.
TypeScript์ฉ SAST
(๊ถ๊ทน๊ธฐ, ๊ณจ๋)
GitLab 11.9์์๋ SAST(Static Application Security Testing)๊ฐ TypeScript ์ฝ๋์ ์ทจ์ฝ์ ์ ๋ถ์ ๋ฐ ๊ฐ์งํ์ฌ ๋ณํฉ ์์ฒญ ์์ ฏ, ํ์ดํ๋ผ์ธ ์์ค ๋ฐ ๋ณด์ ๋์๋ณด๋์ ํ์ํฉ๋๋ค. ํ์ฌ ์ง์
์ ์ sast
๋ณ๊ฒฝํ ํ์๊ฐ ์์ผ๋ฉฐ ์๋์ผ๋ก
๋ค์ค ๋ชจ๋ Maven ํ๋ก์ ํธ์ฉ SAST
(๊ถ๊ทน๊ธฐ, ๊ณจ๋)
Maven ํ๋ก์ ํธ๋ ์ข
์ข
๊ฒฐํฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค.
GitLab 11.9๋ ์ด ํน์ ํ๋ก์ ํธ ๊ตฌ์ฑ์ ๋ํ SAST ๊ธฐ๋ฅ์ ๋ํ ํ์ฅ๋ ์ง์์ ์ ๊ณตํ์ฌ ์ทจ์ฝ์ ์ ์๋ ๊ทธ๋๋ก ํ
์คํธํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ถ์๊ธฐ์ ์ ์ฐ์ฑ ๋๋ถ์ ๊ตฌ์ฑ์ด ์๋์ผ๋ก ๊ฒฐ์ ๋๋ฉฐ ๋ค์ค ๋ชจ๋ Maven ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ธฐ ์ํด ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค. ํ์์ ๊ฐ์ด ์ ์ฌํ ๊ฐ์ ์ฌํญ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ณต๋ฉ๋๋ค.
GitLab ๋ฌ๋ 11.9
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
์ค๋ ์ฐ๋ฆฌ๋ GitLab Runner 11.9๋ ์ถ์ํ์ต๋๋ค! GitLab Runner๋ ์คํ ์์ค ํ๋ก์ ํธ์ด๋ฉฐ CI/CD ์์ ์ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ GitLab์ผ๋ก ๋ค์ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ค์์ GitLab Runner 11.9์ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋ค.
์ํ์ธ ์ด๋ฏธ์ง๋ฅผ ์ํ์ธ 3.9๋ก ์ ๋ฐ์ดํธ .gitlab-runner-helper์ฉ Windows Dockerfile ์ถ๊ฐ ะธWindows ์ด๋ฏธ์ง ๋์ฐ๋ฏธ๋ฅผ ๋น๋ํ๋ ์คํฌ๋ฆฝํธ ์ถ๊ฐ .Docker API ๋ฒ์ ์ ๋ฐ์ดํธ ... ๊ทธ๊ฒ์ ๋์ผํฉ๋๋คCentOS 6์์ Docker ์คํ๊ธฐ ์ง์์ ์ ๊ฑฐํฉ๋๋ค. .๋ก๊ทธ ์ถ์ ์์ ๋ณ์๋ฅผ ๋ง์คํนํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ ์ง์์ ์ํด๋ก๊ทธ์์ ๋ณดํธ๋ ๋ณ์์ ๊ฐ๋จํ ๋ง์คํน , ์ด๋ GitLab 11.10์ ํ์๋ฉ๋๋ค.12.0์ ์ ๊ณต๋๋ ๋ ๊ฑฐ์ OS ๊ธฐ๋ฅ์ ๋ํ ๋ฌธ์ ์ถ๊ฐ .Parallels ์คํ๊ธฐ์์ ์๊ฐ ๋๊ธฐํ๋ฅผ ์บก์ฒํ๋๋ก SNTP ๋ช ๋ น ์ ๋ฐ์ดํธ .- ์ฌ๋ฌ ์คํฌ๋ฆฝํธ ์ด๋ - ํฌํจ
์๋น์ค ๋๊ธฐ ์คํฌ๋ฆฝํธ ะธBash ์บ์ฑ ์คํฌ๋ฆฝํธ - ์ด๋ ์ค. ๋์ฐ๋ฏธ ์ด๋ฏธ์ง ๋ช ๋ น ์ ๊ฑฐ .์ ๊ณต๋ ์ฐธ์กฐ ์ฌ์์์ ์ฝ๋ ์ถ์ถ .์ฌ์ฉ ๊ฐ๋ฅํ RAM๋ณด๋ค ํฐ LFS ๊ฐ์ฒด๊ฐ ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ ๋ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์ค๋ฅ ์์ .
์ ์ฒด ๋ณ๊ฒฝ ๋ชฉ๋ก์ GitLab Runner ๋ณ๊ฒฝ ๋ก๊ทธ์์ ํ์ธํ ์ ์์ต๋๋ค.
GitLab ์คํค๋ง ๊ฐ์
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฐ)
GitLab ์ฐจํธ๊ฐ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ๋์์ต๋๋ค.
- Google Cloud Memorystore์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํฌ๋ก ์์
์ค์
์ด์ ๊ธ๋ก๋ฒ , ์ฌ๋ฌ ์๋น์ค์์ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. - ๋ ์ง์คํธ๋ฆฌ๊ฐ ๋ฒ์ 2.7.1๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- GitLab ๋ ์ง์คํธ๋ฆฌ๊ฐ 1.10 ์ด์ Docker ๋ฒ์ ๊ณผ ํธํ๋๋๋ก ์๋ก์ด ์ค์ ์ ์ถ๊ฐํ์ต๋๋ค. ํ์ฑํํ๋ ค๋ฉด ์ค์นํ์ธ์.
registry.compatibility.schema1.enabled: true
.
์ฑ๋ฅ ํฅ์
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฉ์ดํธ, ๋ฌด๋ฃ, ๋ธ๋ก ์ฆ, ์ค๋ฒ, ๊ณจ๋)
์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ท๋ชจ์ GitLab ์ธ์คํด์ค์ ๋ํ ๋ชจ๋ ๋ฆด๋ฆฌ์ค์์ GitLab ์ฑ๋ฅ์ ์ง์์ ์ผ๋ก ๊ฐ์ ํ๊ณ ์์ต๋๋ค. GitLab 11.9์ ๋ช ๊ฐ์ง ๊ฐ์ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
todos API ์๋ํฌ์ธํธ์์ SQL ์ฟผ๋ฆฌ ์ค์ด๊ธฐ .์์ ์์ ๋๋กญ๋ค์ด ๋ ์ด๋ธ์ ํจ์จ์ฑ ๊ฐ์ .๊ฒ์ ์ค ๊ทธ๋ฃน ์์ ์ ๊ณ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ SQL ์ฟผ๋ฆฌ ์ต์ ํ .์ฌ์ด๋๋ฐ์ ์๊ฐ์ ๋ ์ด๋ธ ํจ์จ์ฑ ํฅ์ .
์ด๋๋ฒ์ค ๊ฐ์
(์ฝ์ด, ์คํํฐ, ํ๋ฆฌ๋ฏธ์, ์ผํฐ๋ฐ)
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์์
GitLab์์ sudo gitlab-rake gitlab: geo: check
ํด์๋ ์ ์ฅ์๊ฐ ํ์ฑํ๋์ด ์๊ณ ๋ชจ๋ ํ๋ก์ ํธ๊ฐ ๋ง์ด๊ทธ๋ ์ด์
๋์๋์ง ํ์ธํฉ๋๋ค. ์ผํฐ๋ฏธํฐ.
GitLab์์
GitLab์์
12.0 Geo๋ ํด์๋ ์ ์ฅ ์๊ตฌ ์ฌํญ์ ์ฌ์ฉํฉ๋๋ค. ์ผํฐ๋ฏธํฐ.gitlab-ee#8690 .
์ญ์ ๋ ์ง: 22 2019 6 ์
ํ์ฑ ํตํฉ
ํ์ฑ
์ญ์ ๋ ์ง: 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 11.0์์๋ GitLab Runner์ ๋ํ ๋ฉํธ๋ฆญ ์๋ฒ ๊ตฌ์ฑ์ ๋ชจ์์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. metrics_server
์ ๋ฆฌํ๊ฒ ์ ๊ฑฐ๋ฉ๋๋ค listen_address
GitLab 12.0์์. ์์ธํ ๋ด์ฉ์ ๋ค์์์ ํ์ธํ์ธ์.
๋ฒ์ 11.3์์๋ GitLab Runner๊ฐ ์ง์๋๊ธฐ ์์ํ์ต๋๋ค.
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
GitLab 12.0์์๋ ๊ธฐ๋ฅ ์ค์ ์ด ๋นํ์ฑํ๋ ๊ฒ์ฒ๋ผ ์ฌ๋ฐ๋ฅธ ๋์์ผ๋ก ์ ํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ค์์์ ํ์ธํ์ธ์.
์ญ์ ๋ ์ง: 22 2019 6 ์
GitLab Runner์ EOL์ ๋๋ฌํ๋ Linux ๋ฐฐํฌ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค.
GitLab Runner๋ฅผ ์ค์นํ ์ ์๋ ์ผ๋ถ Linux ๋ฐฐํฌํ์ ํด๋น ๋ชฉ์ ์ ๋ฌ์ฑํ์ต๋๋ค.
GitLab 12.0์์๋ GitLab Runner๊ฐ ๋ ์ด์ ์ด๋ฌํ Linux ๋ฐฐํฌํ์ ํจํค์ง๋ฅผ ๋ฐฐํฌํ์ง ์์ต๋๋ค. ๋ ์ด์ ์ง์๋์ง ์๋ ๋ฐฐํฌํ์ ์ ์ฒด ๋ชฉ๋ก์ ๋ค์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ญ์ ๋ ์ง: 22 2019 6 ์
์ด์ GitLab Runner Helper ๋ช ๋ น ์ ๊ฑฐ
์ง์ํ๊ธฐ ์ํ ๋
ธ๋ ฅ์ ์ผํ์ผ๋ก
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์ผ๋ก ์์ํ๊ธฐ
GitLab ๋ฒ์ ์์
12.0 ์ ๋ฐ์ดํธ๊ฐ ์์ง ์ค์น๋์ง ์์ ๊ฒฝ์ฐ Prometheus 2.0์ด ์๋์ผ๋ก ์ค์น๋ฉ๋๋ค. Prometheus 1.0์ ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ์์ค๋ฉ๋๋ค. ์ฉ๋ฉ๋์ง ์์ต๋๋ค.
์ญ์ ๋ ์ง: 22 2019 6 ์
TLS v1.1
GitLab์ผ๋ก ์์ํ๊ธฐ
TLS v1.1์ ์ฆ์ ๋นํ์ฑํํ๋ ค๋ฉด ๋ค์์ ์ค์ ํ์ญ์์ค. nginx['ssl_protocols'] = "TLSv1.2"
ะฒ gitlab.rband
๊ทธ๋ฆฌ๊ณ ์คํ gitlab-ctl reconfigure
.
์ญ์ ๋ ์ง: 22 2019 6 ์
GitLab ์ค์น๋ฅผ ์ํ OpenShift ํ ํ๋ฆฟ
๊ณต๋ฌด์ gitlab
์กฐํ ์ฐจํธ
OpenShift ํ ํ๋ฆฟ GitLab์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋ ์ด์ ์ง์๋์ง ์์ต๋๋ค.๊น๋ฉ 12.0 .
์ญ์ ๋ ์ง: 22 2019 6 ์
๋ณด์ ์์ ์ ์ด์ ์ ์
์๊ฐ์ ํจ๊ป
์๋ก์ด ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๊ณ GitLab์์ ์ ๊ณตํ๋ ๋ชจ๋ ์๋ก์ด ๋ณด์ ๊ธฐ๋ฅ์ ํ์ฉํ๋๋ก ์์ ์ ์๋ฅผ ์ ๋ฐ์ดํธํ์ธ์.
์ญ์ ์ผ์: 22๋ 2019์ XNUMX์ผ
๊ด๋ฆฌ์ ํจ๋์ ์์คํ ์ ๋ณด ์น์
GitLab์ GitLab ์ธ์คํด์ค์ ๋ํ ์ ๋ณด๋ฅผ ๋ค์ ์์น์ ํ์ํฉ๋๋ค. admin/system_info
, ๊ทธ๋ฌ๋ ์ด ์ ๋ณด๋ ์ ํํ์ง ์์ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ
์ญ์ ๋ ์ง: 22 2019 6 ์
์ถ์ฒ : habr.com