Skip to content

Latest commit

ย 

History

History
173 lines (124 loc) ยท 4.69 KB

File metadata and controls

173 lines (124 loc) ยท 4.69 KB

๐Ÿ› ๏ธ DevFactory Contributing Guide

Last updated: 2025-11-05

Maintainer: DevFactory Team


๐Ÿงญ Branch Strategy

DevFactory๋Š” ๋ชจ๋…ธ๋ ˆํฌ(Monorepo) ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ์„œ๋น„์Šค(getcloser, cert-system)๋ฅผ ํ•˜๋‚˜์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๊ด€๋ฆฌํ•˜๋ฉฐ,

์ผ๋ถ€ ํ”„๋กœ์ ํŠธ(JobPT, event-bingo)๋Š” ๋ณ„๋„ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ์šด์˜ํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜ ์—ญํ•  ๋น„๊ณ 
main ํ”„๋กœ๋•์…˜ ํ†ตํ•ฉ ์ „์ฒด ์„œ๋น„์Šค์˜ ํ†ตํ•ฉ ๋ฐ ๋ฐฐํฌ์šฉ ๋ธŒ๋žœ์น˜
feat/* ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์„œ๋น„์Šค๋ณ„ ๊ธฐ๋Šฅ ๋‹จ์œ„ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜
fix/* ๋ฒ„๊ทธ ์ˆ˜์ • ์„œ๋น„์Šค๋ณ„ ๋ฒ„๊ทธ ์ˆ˜์ • ๋ธŒ๋žœ์น˜
docs/* ๋ฌธ์„œ ์ˆ˜์ • README, CONTRIBUTING ๋“ฑ ๋ฌธ์„œ ์ „์šฉ ๋ธŒ๋žœ์น˜

๋ธŒ๋žœ์น˜๋ช… ์˜ˆ์‹œ

  • feat/getcloser/auto-deploy
  • fix/getcloser/auth-refresh
  • docs/getcloser/update-deploy-guide
  • chore/devfactory/github-actions-update

โš™๏ธ Workflow

  1. ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ

    git checkout main
    git checkout -b feat/<feature-name>
    # ์˜ˆ์‹œ
    git checkout -b feat/auto-deploy
  2. ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ปค๋ฐ‹

    git commit -m "feat(getcloser): add CI/CD auto deploy pipeline"
  3. PR ์ƒ์„ฑ

    git push origin feat/auto-deploy
    • feat/* โ†’ main์œผ๋กœ PR ์ƒ์„ฑ
    • PR ์ œ๋ชฉ์€ ์ž‘์—… ๋ชฉ์ ์„ ๋ช…ํ™•ํžˆ ์ž‘์„ฑ ์˜ˆ: fix(getcloser): resolve API timeout issue
  4. ๋ฆฌ๋ทฐ ๋ฐ ๋ณ‘ํ•ฉ

    • ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ ์Šน์ธ ํ›„ ๋ณ‘ํ•ฉ
    • ์ดํ›„ ๋ธŒ๋žœ์น˜๋Š” ์‚ญ์ œ ๊ถŒ์žฅ (Delete branch after merge)
    • ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ณ‘ํ•ฉ ๋ฐ ๋ฆฌ๋ทฐ ๊ทœ์น™ ์ฐธ๊ณ 

๐Ÿชถ Commit Convention

๋ชจ๋“  ์ปค๋ฐ‹์€ Conventional Commits ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

<type>(<scope>): <short summary>
Type ์„ค๋ช…
feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
fix ๋ฒ„๊ทธ ์ˆ˜์ •
docs ๋ฌธ์„œ ๋ณ€๊ฒฝ (README, CONTRIBUTING ๋“ฑ)
chore ๋นŒ๋“œ, ์˜์กด์„ฑ, ์„ค์ • ๋“ฑ ๋ณ€๊ฒฝ (๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์˜ํ–ฅ ์—†์Œ)
refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
test ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ ๋˜๋Š” ์ˆ˜์ •
perf ์„ฑ๋Šฅ ๊ฐœ์„ 

์ปค๋ฐ‹ ์˜ˆ์‹œ

  • feat(getcloser): add automatic deploy pipeline
  • fix(getcloser): handle login token issue
  • docs(devfactory): update contributing guide

๐Ÿ”€ Merge & Review Rules

  • ์ง์ ‘ push ๊ธˆ์ง€ (main ๋ธŒ๋žœ์น˜ ํฌํ•จ)
  • ๋ชจ๋“  ๋ณ€๊ฒฝ์€ **Pull Request(PR)**๋ฅผ ํ†ตํ•ด ์ง„ํ–‰
  • ์„œ๋น„์Šค ๊ตฌ๋ถ„ ๋ผ๋ฒจ(์นœํ•ด์ง€๊ธธ๋ฐ”๋ผ, ์ˆ˜๋ฃŒ์ฆ, devfactory, Bingo) ์ˆ˜๋™ ์ถ”๊ฐ€ ํ•„์ˆ˜
  • ๋ฆฌ๋ทฐ์–ด 1์ธ ์ด์ƒ ์Šน์ธ ํ•„์ˆ˜
  • PR ์ž‘์„ฑ์ž๊ฐ€ ์ง์ ‘ ๋ณ‘ํ•ฉ (rebase merge ๊ถŒ์žฅ)
  • ๋ณ‘ํ•ฉ ํ›„ ๋ธŒ๋žœ์น˜ ์‚ญ์ œ ๊ถŒ์žฅ

๐Ÿ’ก PR ์ƒํƒœ๋Š” ๋ผ๋ฒจ์„ ํ†ตํ•ด ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

๋ผ๋ฒจ ์„ค๋ช… ๋ถ€์—ฌ ๋ฐฉ์‹
๐ŸŸจ needs-review ์ƒˆ PR ์ƒ์„ฑ ์‹œ ์ž๋™ ๋ถ€์—ฌ (๋ฆฌ๋ทฐ ๋Œ€๊ธฐ ์ƒํƒœ) ์ž๋™
๐ŸŸง changes-requested ๋ฆฌ๋ทฐ์–ด๊ฐ€ ์ฝ”๋“œ ์ˆ˜์ • ์š”์ฒญ์„ ๋‚จ๊ธด ์ƒํƒœ ๋ฆฌ๋ทฐ์–ด๊ฐ€ ์ˆ˜๋™ ๋ณ€๊ฒฝ
๐ŸŸฉ approved ๋ฆฌ๋ทฐ์–ด ์Šน์ธ ์™„๋ฃŒ, ๋ณ‘ํ•ฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ๋ฆฌ๋ทฐ์–ด๊ฐ€ ์ˆ˜๋™ ๋ณ€๊ฒฝ
๐ŸŸช merged PR ๋ณ‘ํ•ฉ ์™„๋ฃŒ ์‹œ ์ž๋™ ๋ถ€์—ฌ ์ž๋™

๐Ÿ”– ๋ฆฌ๋ทฐ์–ด ๊ฐ€์ด๋“œ

  • ์ฝ”๋“œ ์ˆ˜์ •์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ โ†’ changes-requested
  • ์ˆ˜์ • ํ™•์ธ ํ›„ ์Šน์ธ ์‹œ โ†’ approved

๐Ÿ”ง PR ์ž‘์„ฑ์ž ๊ฐ€์ด๋“œ

  • PR์ด approved ์ƒํƒœ๊ฐ€ ๋˜๋ฉด rebase merge ๋ฐฉ์‹์œผ๋กœ ์ง์ ‘ ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณ‘ํ•ฉ์ด ์™„๋ฃŒ๋˜๋ฉด merged ๋ผ๋ฒจ์ด ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

โœ… Pull Request Guide

  1. PR ์ œ๋ชฉ ๊ทœ์น™

    feat(getcloser): add deploy pipeline
    fix(getcloser): resolve API error
    docs(devfactory): update contributing guide
    
    
  2. PR ๋ณธ๋ฌธ ํ…œํ”Œ๋ฆฟ

    • ์š”์•ฝ: ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ๊ฐ„๋žตํžˆ ์„ค๋ช…
    • ๊ด€๋ จ ์ด์Šˆ: Closes #123
    • ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ: ๊ฒ€์ฆ ๋ฐฉ๋ฒ• ๋ช…์‹œ
    • ์Šคํฌ๋ฆฐ์ƒท (์„ ํƒ): UI ๋ณ€๊ฒฝ ์‹œ ์ฒจ๋ถ€

๐Ÿ”’ Security & Environment Files

  • .env, API ํ‚ค, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ ๋ฏผ๊ฐํ•œ ์ •๋ณด ์ปค๋ฐ‹ ๊ธˆ์ง€
  • .env.example๋งŒ Git์— ํฌํ•จ
  • ์‹ค์ œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” GitHub Secrets / Variables์—์„œ ๊ด€๋ฆฌ

๐Ÿ’ก Workflow Example

# 1. ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
git checkout main
git checkout -b feat/auto-deploy

# 2. ์ž‘์—… ๋ฐ ์ปค๋ฐ‹
git commit -m "feat(getcloser): add CI/CD pipeline"

# 3. ์›๊ฒฉ ํ‘ธ์‹œ & PR ์ƒ์„ฑ
git push origin feat/auto-deploy

# 4. PR ์ƒ์„ฑ โ†’ 'needs-review' ์ž๋™ ๋ถ€์—ฌ
# 5. ๋ฆฌ๋ทฐ ์Šน์ธ โ†’ rebase merge โ†’ 'merged' ์ž๋™ ๋ถ€์—ฌ
# 6. ๋ธŒ๋žœ์น˜ ์‚ญ์ œ

๐Ÿ“˜ Notes

  • ์ฃผ์š” ์„œ๋น„์Šค: getcloser, cert-system
  • ๋ณ„๋„ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ: JobPT, event-bingo