Git server & bitbucket
Git ์๋ฒ ์ง์ ์ด์๊ณผ Bitbucket ๊ฐ๋ ๋ณด๊ณ ์
1. ๊ฐ์
์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์์ค ์ฝ๋ ๊ด๋ฆฌ๋ ํ์์ ์ด๋ฉฐ, Git์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด๋ค. ๋ณธ ๋ณด๊ณ ์์์๋ Git ์๋ฒ๋ฅผ ์ง์ ์ด์ํ๋ ๋ฐฉ๋ฒ๊ณผ Atlassian์ Bitbucket์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ฐ๋ ์ ์ ๋ฆฌํ๋ค.
2. Git ์๋ฒ ์ง์ ์ด์
2.1 Git ์๋ฒ ๊ฐ๋
Git ์๋ฒ๋ฅผ ์ง์ ์ด์ํ๋ค๋ ๊ฒ์, GitHub, GitLab, Bitbucket ๊ฐ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๊ฒฉ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , ์์ฒด ์๋ฒ์์ Git์ ํธ์คํ ํ์ฌ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
2.2 Git ์๋ฒ ์ค์น ๋ฐ ์ด์ ๋ฐฉ์
- ์๋ฒ ํ๊ฒฝ ๊ตฌ์ถ
- ๋ฆฌ๋ ์ค ์๋ฒ (Ubuntu, CentOS, Raspberry Pi ๋ฑ) ๋๋ Windows ์๋ฒ ์ค๋น
- SSH๋ฅผ ํตํ ์๊ฒฉ ์ ๊ทผ ์ค์
- Git ์ค์น ๋ฐ ์ ์ฅ์ ์์ฑ
sudo apt update sudo apt install git mkdir -p /home/git/myrepo.git cd /home/git/myrepo.git git init --bare
- ์ฌ์ฉ์ ์ ๊ทผ ๊ถํ ์ค์
- SSH ํค๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์ ์ธ์ฆ
- Git ๊ณ์ ๊ด๋ฆฌ ๋ฐ ์ ๊ทผ ์ ์ด
- ํด๋ผ์ด์ธํธ์์ ์๊ฒฉ ์ ์ฅ์ ์ฐ๊ฒฐ ๋ฐ ์ฌ์ฉ
git clone ssh://user@yourserver.com:/home/git/myrepo.git git remote add origin ssh://user@yourserver.com:/home/git/myrepo.git git push origin main
2.3 Git ์๋ฒ ์ง์ ์ด์์ ์ฅ์ ๊ณผ ๋จ์
์ฅ์ | ๋จ์ |
---|---|
๋ฐ์ดํฐ ๋ณด์ ๊ฐํ (์์ฒด ๊ด๋ฆฌ) | ์๋ฒ ์ ์ง๋ณด์ ํ์ |
๋น์ฉ ์ ๊ฐ (๋ฌด๋ฃ ์ด์ ๊ฐ๋ฅ) | ์ด๊ธฐ ์ค์ ์ด ๋ณต์กํจ |
๋ด๋ถ ๋คํธ์ํฌ์์ ์์ ํ ์ฌ์ฉ ๊ฐ๋ฅ | ์ ๊ทผ ๊ถํ ๋ฐ ์ธ์ฆ ๊ด๋ฆฌ ํ์ |
๋ง์ถคํ ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅ | CI/CD ์ฐ๋ ์ค์ ์ด ํ์ํจ |
3. Bitbucket ๊ฐ๋
3.1 Bitbucket ์๊ฐ
Bitbucket์ Atlassian์์ ์ ๊ณตํ๋ Git ๊ธฐ๋ฐ ์๊ฒฉ ์ ์ฅ์ ์๋น์ค๋ก, ๊ฐ๋ฐ์ ํ์ ๊ณผ ์ฝ๋ ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ ํ๋ซํผ์ด๋ค. GitHub ๋ฐ GitLab๊ณผ ์ ์ฌํ์ง๋ง, Jira ๋ฐ Confluence์์ ์ฐ๋์ด ๊ฐ์ ์ด๋ค.
3.2 Bitbucket์ ์ฃผ์ ๊ธฐ๋ฅ
- Git ์ ์ฅ์ ํธ์คํ : ์ค์ ์ง์คํ ์๊ฒฉ ์ ์ฅ์ ์ ๊ณต
- Jira ์ฐ๋: ์ด์ ํธ๋ํน ๋ฐ ํ๋ก์ ํธ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์ง์
- CI/CD ์ง์: Bitbucket Pipelines๋ฅผ ํตํ ์๋ํ ๊ฐ๋ฅ
- ํ ํ์ : ์ฝ๋ ๋ฆฌ๋ทฐ, PR(Pull Request), ๊ถํ ๊ด๋ฆฌ ์ ๊ณต
3.3 Bitbucket ์ฌ์ฉ ๋ฐฉ๋ฒ
- ๊ณ์ ์์ฑ ๋ฐ ์ ์ฅ์ ์์ฑ
- bitbucket.org์ ๊ฐ์ ํ ์๋ก์ด Git ์ ์ฅ์ ์์ฑ
- Git ์ ์ฅ์ ์ฐ๊ฒฐ ๋ฐ ์ฝ๋ ์
๋ก๋
git clone https://username@bitbucket.org/your-repo.git git remote add origin https://username@bitbucket.org/your-repo.git git push -u origin main
- ํ ํ์
๋ฐ ์ฝ๋ ๋ฆฌ๋ทฐ
- Pull Request(PR) ์์ฑ ๋ฐ ์ฝ๋ ๋ฆฌ๋ทฐ ์์ฒญ
- Jira์ ์ฐ๋ํ์ฌ ์์ ์ด์ ์ถ์
3.4 Bitbucket์ ์ฅ์ ๊ณผ ๋จ์
์ฅ์ | ๋จ์ |
---|---|
Jira ๋ฐ Confluence์ ๊ฐ๋ ฅํ ์ฐ๋ | ๋ฌด๋ฃ ํ๋์ ๊ธฐ๋ฅ ์ ํ |
Bitbucket Pipelines๋ก CI/CD ๊ตฌํ ๊ฐ๋ฅ | GitHub ๋๋น ์ปค๋ฎค๋ํฐ ๊ท๋ชจ๊ฐ ์์ |
ํ๋ผ์ด๋น ์ ์ฅ์๋ฅผ ๊ธฐ๋ณธ ์ ๊ณต | UI๊ฐ GitHub๋ณด๋ค ๋ค์ ๋ณต์ก |
4. Git ์๋ฒ ์ง์ ์ด์ vs Bitbucket ๋น๊ต
๋น๊ต ํญ๋ชฉ | Git ์๋ฒ ์ง์ ์ด์ | Bitbucket |
---|---|---|
์ค์น ๋ฐ ์ ์ง๋ณด์ | ์ง์ ์ค์น ๋ฐ ์ ์ง๋ณด์ ํ์ | Atlassian์ด ๊ด๋ฆฌ |
๋ณด์ ๋ฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ | ์์ฒด ์๋ฒ์์ ์์ ํ ํต์ ๊ฐ๋ฅ | ํด๋ผ์ฐ๋ ์๋น์ค ๋ณด์ ์ ์ฉ |
๋น์ฉ | ํ๋์จ์ด ๋ฐ ๋คํธ์ํฌ ๋น์ฉ ํ์ | ๊ธฐ๋ณธ ๋ฌด๋ฃ ํ๋ ์ ๊ณต, ์ ๋ฃ ๊ธฐ๋ฅ ํฌํจ |
ํ์ ๊ธฐ๋ฅ | ์ง์ ์ค์ ํ์ (GitLab CE, Gitea ํ์ฉ ๊ฐ๋ฅ) | Pull Request, ์ฝ๋ ๋ฆฌ๋ทฐ ์ง์ |
CI/CD ์ง์ | ์ถ๊ฐ ์ค์ ํ์ (Jenkins, GitHub Actions ๋ฑ๊ณผ ์ฐ๋) | Bitbucket Pipelines ๊ธฐ๋ณธ ์ ๊ณต |
5. ๊ฒฐ๋ก
Git ์๋ฒ๋ฅผ ์ง์ ์ด์ํ๋ ๊ฒ์ ๋ฐ์ดํฐ ๋ณด์๊ณผ ์ปค์คํฐ๋ง์ด์ง์ด ํ์ํ ํ๊ฒฝ์์ ์ ์ฉํ์ง๋ง, ์ ์ง๋ณด์์ ์ด๊ธฐ ์ค์ ์ด ๋ณต์กํ ์ ์๋ค. ๋ฐ๋ฉด, Bitbucket์ ๊ฐํธํ ํ์ ๊ณผ Jira ์ฐ๋์ ๊ฐ์ ์ผ๋ก ๊ฐ์ง๋ฉฐ, CI/CD ๊ธฐ๋ฅ๊น์ง ๊ธฐ๋ณธ ์ ๊ณตํ์ฌ ํจ์จ์ ์ธ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค. ์ ํ์ ํ๋ก์ ํธ์ ์๊ตฌ ์ฌํญ๊ณผ ์ด์ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ๊ฒ์ด๋ค.