--- id: P-REINFORCE-AUTO-F896F7 category: "10_Wiki/πŸ’‘ Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Continuous Integration (CI)" --- # [[Continuous Integration (CI)|Continuous Integration (CI)]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > 지속적 톡합(Continuous Integration, CI)은 μ†Œν”„νŠΈμ›¨μ–΄ 개발 수λͺ… μ£ΌκΈ°μ—μ„œ μ½”λ“œ λ³€κ²½ 사항이 λ°œμƒν•  λ•Œ 이λ₯Ό μžλ™μœΌλ‘œ κ²€μ‚¬ν•˜κ³  λΉŒλ“œν•˜λŠ” νŒŒμ΄ν”„λΌμΈμž…λ‹ˆλ‹€ [1, 2]. 개발자의 둜컬 ν™˜κ²½μ—μ„œ 우회될 수 μžˆλŠ” 검사듀을 κ°•μ œν•˜λŠ” 'μ•ˆμ „λ§(Safety net)'이자 μ΅œμ’… κΆŒν•œ(Final authority) 역할을 μˆ˜ν–‰ν•©λ‹ˆλ‹€ [2, 3]. CI ν™˜κ²½μ—μ„œλŠ” 정적 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ³΄μ•ˆ ν…ŒμŠ€νŠΈ(SAST), λ¦°νŒ…(Linting), 전체 ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈ μ‹€ν–‰ 등을 톡해 ν”„λ‘œλ•μ…˜ ν™˜κ²½μ— 배포되기 μ „ μ½”λ“œμ˜ ν’ˆμ§ˆκ³Ό λ³΄μ•ˆμ„ μ—„κ²©ν•˜κ²Œ κ΄€λ¦¬ν•©λ‹ˆλ‹€ [4, 5]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **μ΅œμ’… 검증 및 μ•ˆμ „λ§(Safety Net) μ—­ν• :** κ°œλ°œμžκ°€ 둜컬 ν™˜κ²½μ—μ„œ μ‚¬μš©ν•˜λŠ” Git ν›…(예: Husky, lint-staged)은 `--no-verify` λͺ…λ Ήμ–΄λ‘œ μš°νšŒν•  수 μžˆμœΌλ―€λ‘œ μ½”λ“œ ν’ˆμ§ˆ 정책에 λŒ€ν•œ μ™„λ²½ν•œ κ°•μ œμ„±μ„ κ°–μ§€ λͺ»ν•©λ‹ˆλ‹€ [3]. λ”°λΌμ„œ CI νŒŒμ΄ν”„λΌμΈμ€ 전체 μ½”λ“œμ— λŒ€ν•œ λ¦°νŒ…(μžλ™ μˆ˜μ • μ œμ™Έ), 전체 ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈ μ‹€ν–‰, νƒ€μž… 검사 및 λΉŒλ“œ 검증을 우회 λΆˆκ°€λŠ₯ν•˜κ²Œ μˆ˜ν–‰ν•˜λŠ” μ•ˆμ „λ§μ΄μž μ΅œμ’… κΆŒν•œμœΌλ‘œ μž‘λ™ν•©λ‹ˆλ‹€ [2, 4, 6]. - **λ³΄μ•ˆ 및 ν’ˆμ§ˆ 게이트(Quality Gates) 톡합:** CI/CD νŒŒμ΄ν”„λΌμΈμ— SAST 도ꡬ(예: Snyk, SonarQube, Qodana) 및 μ½”λ“œ ν’ˆμ§ˆ 뢄석 도ꡬλ₯Ό ν†΅ν•©ν•˜μ—¬ ν’ˆμ§ˆ 검사λ₯Ό λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€μ˜ μžμ—°μŠ€λŸ¬μš΄ μΌλΆ€λ‘œ λ§Œλ“­λ‹ˆλ‹€ [1, 7, 8]. 이λ₯Ό 톡해 νŠΉμ • 심각도 μž„κ³„κ°’μ„ μ΄ˆκ³Όν•˜λŠ” λ³΄μ•ˆ μ·¨μ•½μ μ΄λ‚˜ ν’ˆμ§ˆ 기쀀에 λ―Έλ‹¬ν•˜λŠ” μ½”λ“œκ°€ 병합(Merge)λ˜κ±°λ‚˜ λ°°ν¬λ˜λŠ” 것을 μžλ™μœΌλ‘œ 차단(Guardrail)ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1, 5, 9]. - **병렬 검사 및 리뷰 νŒŒμ΄ν”„λΌμΈ 섀계:** Pull Request(PR)κ°€ μƒμ„±λ˜λ©΄ CI νŒŒμ΄ν”„λΌμΈμ€ λ¦°νŒ…, ν¬λ§·νŒ… 검증, μœ λ‹› 및 톡합 ν…ŒμŠ€νŠΈ, 쒅속성 취약점 μŠ€μΊ” λ“±μ˜ 사전 병합(Pre-Merge) μžλ™ν™” 검사λ₯Ό λ³‘λ ¬λ‘œ μ‹€ν–‰ν•©λ‹ˆλ‹€ [10]. μ½”λ“œ λ³€κ²½ 사항은 μ΄λŸ¬ν•œ μžλ™ν™” 검사λ₯Ό ν†΅κ³Όν•œ ν›„μ—λ§Œ μ‚¬λžŒμ΄ 직접 μˆ˜ν–‰ν•˜λŠ” μ½”λ“œ 리뷰둜 λΌμš°νŒ…λ˜κ±°λ‚˜ 병합이 ν™œμ„±ν™”λ˜λ„λ‘ κ΅¬μ„±λ˜μ–΄, λ¦¬λ·°μ–΄μ˜ 인지적 뢀담을 쀄이고 전체적인 μ†Œν”„νŠΈμ›¨μ–΄ 전솑 속도λ₯Ό λ†’μž…λ‹ˆλ‹€ [8, 11, 12]. - **CI ν™˜κ²½μ—μ„œμ˜ 도ꡬ μ‹€ν–‰ μ „λž΅:** CI μ„œλ²„μ—μ„œ 검사λ₯Ό μ‹€ν–‰ν•  λ•ŒλŠ” 둜컬 ν™˜κ²½μ„ μœ„ν•œ Git ν›… 도ꡬλ₯Ό λΉ„ν™œμ„±ν™”(`HUSKY=0` λ“± μ„€μ •)ν•˜κ³ , νŠΉμ • 파일만이 μ•„λ‹Œ ν”„λ‘œμ νŠΈμ— ν•„μš”ν•œ μ‹€μ œ 검사 λͺ…λ Ήμ–΄ 전체λ₯Ό 직접 μ‹€ν–‰ν•˜λ„λ‘ μ„€μ •ν•˜λŠ” 것이 ꢌμž₯λ©λ‹ˆλ‹€ [6, 13]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[Static Application Security Testing (SAST)|Static Application Security Testing (SAST)]], [[Code Review|Code Review]], [[Git Hooks|Git Hooks]], [[Quality Gates|Quality Gates]], [[Pull Request (PR)|Pull Request (PR)]] - **Projects/Contexts:** [[TeamCity|TeamCity]], [[GitHub Actions|GitHub Actions]], [[GitLab CI|GitLab CI]], [[Jenkins|Jenkins]], [[Azure DevOps|Azure DevOps]]와 같이 μ½”λ“œ 톡합과 μžλ™ν™” λΉŒλ“œλ₯Ό κ΄€μž₯ν•˜λŠ” 인프라 ν™˜κ²½ [1, 9, 14]. - **Contradictions/Notes:** 둜컬 Git ν›…(pre-commit λ“±)은 둜컬 ν™˜κ²½μ—μ„œ λΉ λ₯Έ ν”Όλ“œλ°±μ„ μ œκ³΅ν•˜μ—¬ μ‹œκ°„μ„ μ ˆμ•½ν•˜κ²Œ ν•΄μ£Όμ§€λ§Œ, μš°νšŒκ°€ κ°€λŠ₯ν•˜λ―€λ‘œ CIλ₯Ό μ™„μ „νžˆ λŒ€μ²΄ν•  수 μ—†μœΌλ©° λ°˜λ“œμ‹œ CI νŒŒμ΄ν”„λΌμΈμ„ ν†΅ν•œ μ΅œμ’… 검증이 λ³‘ν–‰λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€ [2, 4, 15]. --- *Last updated: 2026-04-18* - Raw Source: 00_Raw/2026-04-20/Continuous Integration (CI).md ---