03. Git flow & CI CD - zmd9220/Aksoo GitHub Wiki
MERGE ์ ๋ต
feature
โ develop
- ๊ฐ์ ํํธ ๋ด์ ํ์์ด ๋ชจ๋ ๋์ํ์ ๊ฒฝ์ฐ
- ๋์ํ๋ ๊ฒฝ์ฐ MR์ ํ์ธ ๋ฉ์ธ์ง๋ฅผ ๋จ๊ธด๋ค
develop
โ master
- CI/CD๊ฐ ๊ตฌ์ถ ๋์๋ค๋ฉด, release๋ก 1์ฃผ์ผ์ 1ํ(๊ถ์ฅ) - ์์์ผ
- ํ์ ์ ์ฒด์ ๋์ ํ์
Branch Style Guide
Structure
feature/ํฌ์ง์
/๊ธฐ๋ฅ๋ช
feature ๋ธ๋์น ์์ฑ ๊ธฐ์ค : ์คํ ๋ฆฌ
ํฌ์ง์
: FE/BE/DevOps/AI ๋ก ๊ตฌ๋ถ๊ธฐ๋ฅ๋ช
: ์ง๋ผ์ ์คํ ๋ฆฌ ๊ธฐ๋ฅ๋ช ์ ์์ฑ, camelCase์ ์ฉ
์)
feature/FE/mainPage
Git flow / CICD
๋ฐฐํฌ ์ฌ์ดํด
master
: ๋ฆฌ์ผ ์๋ฒ์ ๋ฐฐํฌ๋๋ ์๋น์คhotfix
: ๋ฆฌ์ผ ์๋ฒ์์ ๊ธด๊ธ์ํฉ ๋ฐ์์ ์ฌ์ฉ
๊ฐ๋ฐ ์ฌ์ดํด
develop
: develop ๊ฐ๋ฐ๋ฉ์ธ ๋ธ๋์นfeature
:feature/FE/issueName
ํ์์ผ๋ก ์์ฑ ๊ธฐ๋ฅ๊ฐ๋ฐ ๋ธ๋์น
Git flow
- ์คํ๋ฆฐํธ ๋ง๋ค feature๋ค์ ์ ์ ๋ฐ ์์ฑํ๋ค.
- develop์์ feature๋ฅผ ๋ฐ์ ์์ ์ ํ๋ค.
- ์์ ์ด ๋๋ feature ๋ develop ์ผ๋ก ๋จธ์ง๋๋ค.
- ์คํ๋ฆฐํธ ๋จ์๋ก ์์ ์ด ๋๋๋ฉด develop ์์ realease๋ก ๋จธ์ง๊ฐ ๋๋ค.(๋ฒ์ ๊ด๋ฆฌ)
- release์์ QA ์ด์์ด ์์ ์, ํด๋น ๋ฒ์ ์ด master ๋ก ๋ฐฐํฌ๊ฐ ๋๋ค.(์ด๋, ๋ณํฉํ ์ปค๋ฐ์ Release ๋ฒ์ ํ๊ทธ๋ฅผ ๋ถ์ฌ!)
- QA์์ ๋ฒ๊ทธ ๋ฐ์์ hotfix ๋๋ ๋ค์ ์คํ๋ฆฐํธ ๊ณํ์ผ๋ก ์์ ํ๋ค.
CI/CD
- CI :
feature
-> Test ->develop
- CD :
release
-> Deploy ->master
git flow ๋ฐ ๋ฒ์ ๊ด๋ฆฌ ์ฐธ๊ณ ์๋ฃ
- https://gmlwjd9405.github.io/2018/05/11/types-of-git-branch.html
- http://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html
CI/CD
CI /CD ๋?
"CI"๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ํ ํ๋ก์ธ์ค์ธ ์ง์์ ์ธ ํตํฉ(Continuous Integration)์ ์๋ฏธํ๋ค.
CI๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์๋ก์ด ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๊ธฐ์ ์ผ๋ก ๋น๋ ๋ฐ ํ ์คํธ๋์ด ๊ณต์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ณํฉ๋๋ฏ๋ก ์ฌ๋ฌ ๋ช ์ ๊ฐ๋ฐ์๊ฐ ๋์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ์ฝ๋ ์์ ์ ํ ๊ฒฝ์ฐ ์๋ก ์ถฉ๋ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
"CD"๋ ์ง์์ ์ธ ์๋น์ค ์ ๊ณต(Continuous Delivery) ๋ฐ/๋๋ ์ง์์ ์ธ ๋ฐฐํฌ(Continuous Deployment)๋ฅผ ์๋ฏธํ๋ฉฐ ์ด ๋ ์ฉ์ด๋ ์ํธ ๊ตํ์ ์ผ๋ก ์ฌ์ฉ๋๋ค.
๋ ๊ฐ์ง ์๋ฏธ ๋ชจ๋ ํ์ดํ๋ผ์ธ์ ์ถ๊ฐ ๋จ๊ณ์ ๋ํ ์๋ํ๋ฅผ ๋ปํ์ง๋ง ๋๋ก๋ ์ผ๋ง๋ ๋ง์ ์๋ํ๊ฐ ์ด๋ฃจ์ด์ง๊ณ ์๋์ง๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด ๋ณ๋๋ก ์ฌ์ฉ๋๊ธฐ๋ ํ๋ค.