โ ๋ฐฐ๊ฒฝ
ํ์ฌ ํ์ฌ๋ ๊ฐ๋ฐ์๋ฒ๊ฐ 2์ค์ผ๋ก ๊ตฌ์ฑ๋์ด ์์์ต๋๋ค.
ํํธ ๋ด์์ ๊ฐ๋ฐ ์์๋๋ ํ๊ฒฝ์ GitLab๊ณผ Jenkins๊ฐ ํธ์คํ ๋์ด ์๋ ์จํ๋ ๋ฏธ์ค ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ 1์ฐจ ์๋ฒ์์ 2์ฐจ ๊ฐ๋ฐ์๋ฒ๋ก ๋ฏธ๋ฌ๋ง ๋ฐ ๋ฐฐํฌ๊ฐ ์ด๋ค์ง๋๋ค.
2์ฐจ ๊ฐ๋ฐ์๋ฒ๋ ์ฌ๋ฌ ํ์์ ์ฐธ์กฐํ๊ณ ์๋๋ฐ ๊ฐํ์ ์ผ๋ก 1์ฐจ ๊ฐ๋ฐ์๋ฒ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์ด๋ฌํ ์ฅ์ ๋ ๊ฐ๋ฐ, ํ
์คํธ, ์ดํ ์ผ์ ์ ์ฐจ์ง์ ์ด๋ํ์ฌ, ํ์ ์
๋ฌด ํจ์จ์ฑ์ ์ ํดํ์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ์ ๋ ๋ฐฑ์
์ฒด๊ณ๋ฅผ ๊ตฌ์ถํ๊ธฐ๋ก ๊ฒฐ์ฌํ์ต๋๋ค.
๊ทธ ๊ณผ์ ์ gitLab ๋ฏธ๋ฌ๋ง ๋ฐฉ๋ฒ์ ๊ณต์ ํ๊ณ ์ ํฉ๋๋ค.
โ GitLab ๋ฏธ๋ฌ๋ง
1. ๋ฐฑ์ gitlab์ ์์ค๋ฅผ ๋ฐ์ ํ๊ฒ ํ๋ก์ ํธ๋ฅผ ์์ฑ
์๋ต...
2. ๋ฐฑ์ gitlab์ ์ธ์ฆ์ ์ํ access token์ ์์ฑ(์ ํ์ด๋ฉฐ token์ด ์๋ ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํด๋ ๋จ)
access token์ ํด๋น ๋ฉ๋ด์์ ์์ฑํ ์ ์๋ค.
ํ๋์ ํ๋ก์ ํธ๊ฐ ์๋ ์์ ๊ทธ๋ฃน ํ์์ ์๋ ๋ชจ๋ ํ๋ก์ ํธ์ ๋์ผํ๊ฒ ์ ์ฉํ๊ณ ์ถ๋ค๋ฉด, ๊ทธ๋ฃน settings๋ก ๋ค์ด๊ฐ์ access token์ ์์ฑํ๋ฉด ๋๋ค.
role์ ๊ฒฝ์ฐ, ๋ฏธ๋ฌ๋ง(push)๋ฅผ ํ๊ณ ์ ํ๋ ๋ธ๋์น์ ๊ถํ ์ด์์ ๊ถํ์ ์ค์ ํ๋ค.
์๋ฅผ๋ค์ด ๋ฏธ๋ฌ๋ง์ ๋ฐ์ ํ๊ฒ ํ๋ก์ ํธ main ๋ธ๋์น์ push ๊ถํ์ด Maintainer์ด๊ณ access token์ ๊ถํ์ด Developer๋ก ๋์ด์๋ค๋ฉด, ํด๋น ๋ธ๋์น์ push๋ฅผ ํ ์ ์์ด์ ๋ฏธ๋ฌ๋ง์ ํ ์ ์๋ค.
(๊ถํ์ Owner๊ฐ ๊ฐ์ฅ ๋๊ณ Guest๊ฐ ๊ฐ์ฅ ๋ฎ๋ค.)
3. ์๋ณธ gitlab์์ ๋ฏธ๋ฌ๋ง์ ์ค์
ํ๋ก์ ํธ > Settings > Repository > Mirroing repositories
Git repository URL์๋ ๋ชฉ์ ์ง์ "http(s)://๊ณ์ @git์ฃผ์" ๋ฅผ ์ ์ด์ค๋ค.
์๋ฅผ๋ค์ด ๋์ ๊ฒฝ์ฐ, ํ์๋ง์์ ๊ตฌํํ ๋ฐฑ์ gitlab ํ๋ก์ ํธ๊ฐ ๋ชฉ์ ์ง์ด๋ค.
ํด๋น ํ๋ก์ ํธ์ ์ฃผ์๊ฐ http://10.25.111.222/mygroup/my-proj.git ์ด๊ณ ํด๋น ํ๋ก์ ํธ์ ๊ถํ์ ๊ฐ์ง๊ณ ์๋ ๊ณ์ ์ ์ ๋ณด๊ฐ admin ์ผ ๊ฒฝ์ฐ, http://admin@10.25.111.222/mygroup/my-proj.git ์ด ๋๊ฒ ๋ค.
password์๋ admin ๊ณ์ ์ gitlab ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ ํน์ ์์ฑํ access token์ ์ ๋ ฅํ๋ค.
Mirror only protected branches ๋ฅผ ์ ํํ๋ฉด protected branches๋ก ์ค์ ํ branch๋ค๋ง mirroringํ ์ ์๋ค.
(์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๊ฐ์ด ๊ฐ๋ฐ์ํ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ค์ํ feature ๋ธ๋์น๊ฐ ์์ฑ๋ ํ ๋ฐ ์ด ๋ชจ๋ ๋ธ๋์น๋ฅผ ๊ฐ์ ธ๊ฐ ํ์๊ฐ ์์ผ๋ฏ๋ก ์ฃผ์ ๋ธ๋์น๋ง ๊ฐ์ ธ๊ฐ ๊ฒ์ด๋ผ๋ฉด protected๋ก ์ค์ ํด ๋๊ณ ์ ํํด์ฃผ๋ฉด ์ข๋ค.)
protected branches ์ค์ ์ Mirroring repositories ๋ฐ๋ก ์๋์์ ํ์ธ ๊ฐ๋ฅํ๋ค.
์ค์ ๋ฏธ๋ฌ๋ง์ด ์ค์ ์ด ์๋ฃ๋๋ฉด ์์ ๊ฐ์ด rowํ๋๊ฐ ์๊ธด๋ค. ๋ ์ฒ๋ผ ์ฌ๋ฌ๊ฐ์ ๋ฏธ๋ฌ๋ง์ ๊ตฌ์ถํ ์ ์๋ค.
์ค์ ์ค์ ํ ๋ธ๋์น์ ๋ณํ(commit)์ด ์๊ธฐ๋ฉด ์๋์ผ๋ก ๋ฏธ๋ฌ๋ง(ํ์ฌ ์ค์ ์ push)๊ฐ ์งํ๋๋ค.
์๋์ผ๋ก ์ง์ ๋ฏธ๋ฌ๋ง์ ์ํค๊ณ ์ถ๋ค๋ฉด ์ค๋ฅธ์ชฝ์ ์๋ก๊ณ ๋ฆผ ์์ด์ฝ์ ํด๋ฆญํด์ค๋ ๋๋ค.
'Programming > Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git Hook] pre commit ์ผ๋ก ์ฅ์ ์๋ฐฉํ๊ธฐ(ft. husky, osascript) (0) | 2024.08.29 |
---|---|
๊นํ ํน์ ๋ธ๋์น ํด๋ก ํ๊ธฐ / github branch clone (0) | 2022.03.15 |