๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ” CI/CD

  • CI: Continuous Integration(์ง€์†์  ํ†ตํ•ฉ). ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์ž์ฃผ ํ†ตํ•ฉํ•˜๊ณ  ์ž๋™์œผ๋กœ ๋นŒ๋“œยทํ…Œ์ŠคํŠธํ•ด ํ†ตํ•ฉ ์˜ค๋ฅ˜๋ฅผ ์ผ์ฐ ์žก๋Š” ๊ฐœ๋ฐœ ๋ฐฉ์‹.
  • CD: Continuous Delivery/Deployment(์ง€์†์  ์ „๋‹ฌ/๋ฐฐํฌ). CI๋ฅผ ํ†ต๊ณผํ•œ ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ๋ฆด๋ฆฌ์Šค ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜(Delivery), ์šด์˜ ํ™˜๊ฒฝ์— ์ž๋™ ๋ฐฐํฌ(Deployment)ํ•˜๋Š” ๋ฐฉ์‹.
  • Pipeline: ๋นŒ๋“œโ†’ํ…Œ์ŠคํŠธโ†’๋ฐฐํฌ ๋“ฑ ์ผ๋ จ์˜ ๋‹จ๊ณ„๋ฅผ ์ •ํ•ด์ง„ ์ˆœ์„œ๋Œ€๋กœ ์ž๋™ ์‹คํ–‰ํ•˜๋Š” ์ž๋™ํ™” ํ๋ฆ„.
  • VCS: Version Control System(๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ). ์†Œ์Šค ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๊ธฐ๋กยท๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ. ๋Œ€ํ‘œ์ ์œผ๋กœ Git.
  • GitHub Actions: GitHub์— ๋‚ด์žฅ๋œ CI/CD ํ”Œ๋žซํผ. ์›Œํฌํ”Œ๋กœ(YAML)๋ฅผ ์ž‘์„ฑํ•ด ๋นŒ๋“œยทํ…Œ์ŠคํŠธยท๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•œ๋‹ค.
  • Runner: GitHub Actions ์›Œํฌํ”Œ๋กœ์˜ ์ž‘์—…(Job)์„ ์‹ค์ œ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋จธ์‹ . GitHub ํ˜ธ์ŠคํŒ…ํ˜•๊ณผ self-hostedํ˜•์ด ์žˆ๋‹ค.
  • YAML: ๋“ค์—ฌ์“ฐ๊ธฐ๋กœ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š”, ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฌ์šด ๋ฐ์ดํ„ฐ ์ง๋ ฌํ™” ํฌ๋งท. ์›Œํฌํ”Œ๋กœยท์„ค์ • ํŒŒ์ผ์— ๋งŽ์ด ์“ฐ์ธ๋‹ค.
  • Workflow (์›Œํฌํ”Œ๋กœ): GitHub Actions์—์„œ ์ž๋™ ์ž‘์—…์„ ์ •์˜ํ•œ YAML ํŒŒ์ผ. ํŠธ๋ฆฌ๊ฑฐยท์žก(Job)ยท์Šคํ…์œผ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค(์˜ˆ: ci.yml, release.yml).
  • Pull Request (PR): ๋ณ€๊ฒฝ์„ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์— ํ•ฉ์น˜๊ธฐ ์ „์— ๊ฒ€ํ† ยท๋…ผ์˜ยท์ž๋™ ๊ฒ€์‚ฌ(CI)๋ฅผ ๊ฑฐ์น˜๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ ๋‹จ์œ„.
  • Git Tag (ํƒœ๊ทธ): ํŠน์ • ์ปค๋ฐ‹์— ๋ถ™์ด๋Š” ๊ณ ์ • ์ด๋ฆ„ํ‘œ. ๋ฒ„์ „ ๋ฆด๋ฆฌ์Šค ํ‘œ์‹œ(v1.3.0)์— ์“ฐ๋ฉฐ, ํ‘ธ์‹œํ•˜๋ฉด release ์›Œํฌํ”Œ๋กœ ํŠธ๋ฆฌ๊ฑฐ๋กœ ํ™œ์šฉํ•œ๋‹ค.
  • semver: Semantic Versioning. ๋ฒ„์ „์„ major.minor.patch๋กœ ๋งค๊ฒจ ๋ณ€๊ฒฝ ๊ทœ๋ชจ๋ฅผ ์•ฝ์†ํ•˜๋Š” ๊ทœ์น™.
  • GitHub Pages: ์ €์žฅ์†Œ์˜ ์ •์  ํŒŒ์ผ(HTML ๋“ฑ)์„ ๋ฌด๋ฃŒ๋กœ ์›น ํ˜ธ์ŠคํŒ…ํ•ด ์ฃผ๋Š” ๊ธฐ๋Šฅ. ๋‹ค์šด๋กœ๋“œ/๋ฌธ์„œ ํŽ˜์ด์ง€์— ์‚ฌ์šฉ.
  • GitHub Releases: ๋ฒ„์ „ ํƒœ๊ทธ์— ๋งž์ถฐ ๋นŒ๋“œ ์‚ฐ์ถœ๋ฌผ(zip ๋“ฑ)์„ ์ฒจ๋ถ€ยท๋ฐฐํฌํ•˜๋Š” ๊ธฐ๋Šฅ. /latest/download/ ๊ณ ์ • ๋งํฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ์žฌํ˜„์„ฑ (Reproducibility): ์‚ฌ๋žŒยทPCยทํ™˜๊ฒฝ์ด ๋‹ฌ๋ผ๋„ ๋™์ผํ•œ ๋นŒ๋“œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ์„ฑ์งˆ. toolchainยทWrapperยท์˜์กด์„ฑ ๊ณ ์ •์œผ๋กœ ํ™•๋ณดํ•œ๋‹ค.
๐Ÿ“„ ์›๋ณธvault/๋‹จ์–ด์žฅ/cicd.md