gitlab ๊ฐ์
gitlab์ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ์ด ์ ํ์ ๊ณํ, ์ฝ๋ํ, ํ ์คํธ, ๋ฐฐํฌ ๋ฐ ๋ชจ๋ํฐ๋งํ๋๋ฐ ๋์์ด ๋๋ ์น ๊ธฐ๋ฐ ๋ฐ๋ธ์ต์ค ํ๋ซํผ์ ๋๋ค.
ssh ๊ฐ์
๋ณด์ ์ ํ๋กํ ์ฝ์ ์ฝ์๋ก ๋ณด์๋์ง ์์ ๋คํธ์ํฌ์์ ๋คํธ์ํฌ ์๋น์ค๋ฅผ ์์ ํ๊ฒ ์ด์ํ๊ธฐ ์ํ ์ํธํ ๋คํธ์ํฌ ํ๋กํ ํจ ์ ๋๋ค.
๊ณต๊ฐ ํค ์ํธํ๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฒฉ ์ปดํจํฐ๋ฅผ ์ธ์ฆํฉ๋๋ค.
์ ์ฉํ๊ฒ ๋ ์ด์
gitlab์์ ์์ค๋ฅผ ํด๋ก ํ์ฌ push, pull ๋ฑ๋ฑ ์ฌ์ฉ ์ username, password๋ฅผ ์๊ตฌ๋ฅผ ํ๋ค.
๊ณ์๋๋ ๋ฐ๋ณต์์ ์ ๊ฒฐ๊ตญ ๊ท์ฐฎ๋ค๋ ์๊ฐ๋ง ๋จ๊ฒ ๋์๋ค.
๋งค๋ฒ ์ ๋ ฅํ์ง ์๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฒ์ํด๋ณด๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ๋ค์ด ๋์ค๋๊ฒ์ ํ์ธํ๋ค.
๊ฒ์ํ ๊ฒฐ๊ณผ ์ค ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ์๋ํด๋ณด๋ ค๊ณ ํ๋ค
๋ชฉ์ ์ ์ถ๊ฐ ์ ๋ ฅ์์ด git ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋๊ฒ์ด๊ณ ๊ทธ ๋ชฉ์ ์ ๋ง๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ก
์ธ์ฆ ์ ๋ณด ์ ์ฅํ๋ ๋ฐฉ๋ฒ(Credential ์ ์ฅ์)๊ณผ ssh key ๋ฑ๋ก ๋ฐฉ๋ฒ์ด์๋ค.
์ ์ฉ๊ณผ์
Credential ์ ์ฅ์๋ฅผ ์ฌ์ฉ
์ฒซ๋ฒ์งธ ์ ์ฉ ๊ณผ์ ์ Credential ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด์๋ค.
Credential ์ ์ฅ์๋ ๋งค๋ฒ Credential๋ฅผ ์ ๋ ฅํ๋ ๋ฒ๊ฑฐ๋ก์์ ํด์ํ๊ธฐ ์ํด ํ๋ฒ ์ ์ฅํด๋๋ฉด ๋ค์ ๋ช ๋ น์ด ์ ๋ ฅ์ ์๋์ผ๋ก ์ธ์ฆ์ ๋ณด๊ฐ ์ ๋ ฅ์ด ๋๋๋๋ก ํด์ฃผ๋ ์์คํ ์ ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก๋ ์๋ฌด๋ฐ ์ ์ฅ๋ ๋์ด์์ง์์ ๋งค๋ฒ ์ธ์ฆ์ ๋ณด๋ฅผ ์ ๋ ฅํด์ผํฉ๋๋ค.
์ธ์ฆ ์ ์ฅ์ ๊ธฐ๋ฅ์๋ cache๋ชจ๋ ์ store๋ชจ๋๊ฐ ์์๋๋ฐ
cache๋ชจ๋๋ ์ ๊ฐ ์๊ฐํ ๋ชฉ์ ๊ณผ ๋ถํฉํ์ง๋ง ์กฐ๊ธ ๋ถ์กฑํ์ต๋๋ค. ์๋ํ๋ฉด ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ๋ค์ ์ธ์ฆ์ ๋ณด๋ฅผ ์ ๋ ฅํด์ผํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋์ store๋ชจ๋๋ก ์ค์ ํ์ฌ ์ธ์ฆ์ ๋ณด๋ฅผ disk์ ํ ์คํธ ํ์ผ๋ก ์ ์ฅํ์ฌ ๊ณ์ ์ ์ง๋๋๋ก ํ์ต๋๋ค.
์ด๋ฒ์ git config credentail.helper store ์ ๋ ฅํ ๋ค ์๋ํด๋ณด์๋ค
๋ค์ ํ ๋ฒ ๋ git pull์ ํ๋ฉด ๋์ด์ ์ธ์ฆ์ ์๊ตฌํ์ง ์์ต๋๋ค.
์ด๋ ๊ฒ ์ธ์ฆ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ด๋ ค๊ณ ํ์ผ๋ ์ธ์ฆ์ ๋ณด๋ฅผ ์ด๋ป๊ฒ ํ์ผ์ ์ ์ฅ๋๋์ง ๊ถ๊ธํด์ ์ฐพ์๋ณด์๋ค.
๊ฒฝ๋ก๋ $HOME/.git-credentials ์ ์ ์ฅ๋์ด์๋ค๋๊ฑธ ํ์ธํ๋ค.
vi $HOME/.git-credentials ๋ค์ด๊ฐ๋ณด๋ username๊ณผ password๊ฐ ๊ทธ๋๋ก ์ ํ์์๋ค.
๋ฌผ๋ก password๋ฅผ ๊ฐ์ธ์ ๊ทผํค๋ฅผ ๋ฐ๊ธํ๊ณ ํด๋๋๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ๋ฌธ์ ๋ ๋์ง์์์ง๋ง ๊ฐ์ธ์ ๊ทผํค๊ฐ ์๋ ๊ทธ๋ฅ ๋น๋ฐ๋ฒํธ๊ฐ ์ ํ์์ผ๋ ์ข ์ด์ํด๋ณด์๋ค.
ssh key ๋ฑ๋ก
๋๋ฒ์งธ ์ ์ฉ๊ณผ์ ์ ssh key๋ฅผ ๋ฑ๋กํด์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์๋ํด๋ณด์๋ค.
๊ณผ์ ์ ๋๋ต ์ด๋ ๋ค ssh key ๋ฐ๊ธ -> ๊ฐ์ธํค๋ ๋ณด๊ด -> ๊ณต๊ฐํค๋ gitlab ssh keys์ ๋ฑ๋ก
ssh
ssh-keygen //or ssh-keygen -t ed25519
์ํธํ์๊ณ ๋ฆฌ์ฆ์ rsa ์ ed25519 ๋์ค ํ๋ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
์ผ๋จ ์ ์ฉ์ rsa์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํด๋ณด์๋ค. gitalb ssh ๊ด๋ จ ๋ด์ฉ์ ๋ณด๋ฉด ed25519๊ฐ rsa๋ฐฉ์๋ณด๋ค ๋ ์์ ํ๋ค๊ณ ์ ํ์์๋ค.
ํ์ง๋ง ed25519๋ ์ข๋ ๊ณต๋ถ๋ฅผ ํ๊ณ ๋ ๋ค ์ฌ์ฉํด๋ณผ ์์ ์ด๋ค.
ssh-keygen์ ํ๊ฒ๋๋ฉด ๊ณต๊ฐํค์ ๊ฐ์ธํค๊ฐ ์์ฑ์ด ๋๋ค.
์์ฑํ๊ณ ๋๋ค ssh-agent๋ฅผ ์์ํฉ๋๋ค.
eval $(ssh-agent)
Agent pod 981
๊ทธ๋ฆฌ๊ณ ssh-agent์ ํค๋ฅผ ์ถ๊ฐํฉ๋๋ค.
ssh-add ~/.ssh/test2_rsa
์ด๋ฒ์ ๊น๋ฉ์ ๋ฑ๋กํ๊ธฐ ์ํด์ ๊ณต๊ฐํค๋ฅผ ๋ณต์ฌํด์ผํ๋ค
cd ~/.ssh
ํด๋น ์์น๋ก ์ด๋ํ๋ฉด ์์ฑํ๋ ํ์ผ์ด ์กด์ฌํ๊ฒ ๋๋ค
test2_rsa, test2_rsa.pub
ํด๋น ์์ฑ๋ ๊ณต๊ฐํค๋ฅผ ๋ณต์ฌํด์ gitlab์ ๋ฑ๋กํด์ผํ๋ค.
cat ~/.ssh/test2_rsa.pub
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ผ์์ ํค๊ฐ์ด ํ์๊ฐ ๋๋ค.
ํ์๊ฐ๋ ํค๊ฐ์ ๋ณต์ฌํ ๋ค ๊น๋ฉ์ ๋ฑ๋กํ๋ค.
title์ ์ค์ํ์ง์์ผ๋ ์ ๊ฒฝ์ธํ์๋ ์์๋ค.
์ฌ๊ธฐ๊น์ง ์งํ์ด ๋์๋ค๋ฉด ssh key๋ฑ๋ก์ ์๋ฃ๋์๋ค.
๋ง์ง๋ง์ผ๋ก ssh ํค๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ถ๊ฐ๋์๋์ง ํ์ธ์ ํด์ผํ๋ค.
๋ค์ ๋ช ๋ น์ด๋ก ํ์ธ์ ํ๋ฉด ๋๋ค
ssh -T git@gitlab.com
Welcome to GitLab, @name!
์ ์ฒ๋ผ welcome to gitlab์ด ๋์ค๋ฉด ์ ์์ ์ผ๋ก ๋๊ฒ์ด๋ค.
๋ง์ฝ ์ ๋๋ก ๋์ง์์๋ค๋ฉด Permission denied (publickey) ๋ฌธ๊ตฌ๊ฐ ํ์๋๋ค.
๋ค์ ํ๋ฒ ๋ git ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ธ์ฆ์ ๋ณด ์ ๋ ฅ ์์ด ์งํ์ด ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ ์ฉ์ค ๋ฌธ์ ๋ฐ์
1.ssh-agent ํค ๋ฑ๋ก ํ ๋ ๊ฐ์ธํค๊ฐ ์๋ ๊ณต๊ฐํค๋ก ๋ฑ๋ก์ํด์ ์งํ์ด ๋์ง์๋ ๋ฌธ์ ๊ฐ ์์๋ค.
ํด๊ฒฐ๋ฒ
1.๊ธํ๊ฒ ํ์ง์๊ณ ์ฒ์ฒํ ์งํํ๋ฉด ๋ฌธ์ ์๋ ์ผ์ด๋ค.
๋ง์ง๋ง์ผ๋ก
์๋ฒ์์ ๊น๋ฉ์์ค๋ฅผ ์ธ์ฆ์ ๋ณด ์ ๋ ฅ์์ด ์์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ์ฉํด๋ณด์๋ค.
๋ค์์๋ Gitlab CI CD๋ฅผ ์ ์ฉํด๋ด์ผ๊ฒ ๋ค.
'IT > Etc' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React + PWA Tutorial (notifications,push) (0) | 2023.06.21 |
---|---|
ESLint + Prettier + React ํ๊ฒฝ ์ค์ (2) | 2023.01.11 |