Skip to Content
Nextra 4.0 is released πŸŽ‰

πŸ€– μžλ™ν™”λœ ν…ŒμŠ€νŠΈ μ‹€ν–‰ ν™˜κ²½

이 ν”„λ‘œμ νŠΈλŠ” GitHub Actions λ₯Ό μ‚¬μš©ν•˜μ—¬ μžλ™ν™”λœ ν…ŒμŠ€νŠΈ ν™˜κ²½μ„ μ œκ³΅ν•΄μš”. μ΄λŠ” μ½”λ“œκ°€ λ³‘ν•©λ˜κ³  λ°°ν¬λ˜κΈ°κΉŒμ§€μ˜ κ³Όμ •μ—μ„œ λ‹€μ–‘ν•œ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•¨μœΌλ‘œμ¨ μ½”λ“œμ˜ ν’ˆμ§ˆμ„ μœ μ§€ν•˜κ³ , 배포 전에 λ¬Έμ œκ°€ λ°œμƒν•˜μ§€ μ•Šλ„λ‘ 사전에 μΈμ§€ν•˜κ³  ν•΄κ²°ν•˜κΈ° μœ„ν•¨μ΄μ—μš”.

πŸ”„ μ›Œν¬ν”Œλ‘œμš° ꡬ성 (.github/workflows/test.yml)

이 μ›Œν¬ν”Œλ‘œμš°λŠ” λ‹€μ–‘ν•œ ν…ŒμŠ€νŠΈ 작(job)으둜 κ΅¬μ„±λ˜μ–΄ 있으며, 각 μž‘μ€ λ‹€μŒκ³Ό 같은 역할을 ν•©λ‹ˆλ‹€.

μš”μ•½

1. unit-test

  • μ˜μ‘΄μ„± μ„€μΉ˜, λΉŒλ“œ, λ‹¨μœ„ ν…ŒμŠ€νŠΈ, 컀버리지 리포트 생성을 λ‹΄λ‹Ήν•©λ‹ˆλ‹€.
  • Turbo, node_modules, dist, ν…ŒμŠ€νŠΈ 컀버리지 λ“± λ‹€μ–‘ν•œ μΊμ‹œλ₯Ό ν™œμš©ν•˜μ—¬ λΉŒλ“œ/ν…ŒμŠ€νŠΈ 속도λ₯Ό λ†’μž…λ‹ˆλ‹€.
  • ν…ŒμŠ€νŠΈ 결과와 컀버리지 리포트, λΉŒλ“œ/ν…ŒμŠ€νŠΈ 둜그λ₯Ό μ•„ν‹°νŒ©νŠΈλ‘œ μ—…λ‘œλ“œν•©λ‹ˆλ‹€.

2. set-docker-compose

  • 도컀 기반 톡합 ν…ŒμŠ€νŠΈ ν™˜κ²½μ„ μœ„ν•œ docker-compose.gha.yaml νŒŒμΌμ„ λ³€ν™˜ 및 μΊμ‹±ν•©λ‹ˆλ‹€.
  • 이후 E2E, Lighthouse, Storybook ν…ŒμŠ€νŠΈμ—μ„œ κ³΅ν†΅μœΌλ‘œ ν™œμš©λ©λ‹ˆλ‹€.

3. lighthouse-test

  • μ›Ήμ•±κ³Ό Lighthouse ν…ŒμŠ€νŠΈμš© 이미지λ₯Ό λ„μ»€λ‘œ λΉŒλ“œν•˜κ³ , Lighthouse CIλ₯Ό 톡해 μ›Ή μ ‘κ·Όμ„±/μ„±λŠ₯/SEO 등을 μžλ™ μ κ²€ν•©λ‹ˆλ‹€.
  • temporary-public-storage 에 ν…ŒμŠ€νŠΈ κ²°κ³Όλ₯Ό μ—…λ‘œλ“œν•˜κ³ , 리포트λ₯Ό PR 에 μ²¨λΆ€ν•©λ‹ˆλ‹€.

4. e2e-web

  • μ›Ήμ•±κ³Ό Playwright 기반 E2E ν…ŒμŠ€νŠΈ 이미지λ₯Ό λ„μ»€λ‘œ λΉŒλ“œν•˜κ³ , μ‹€μ œ λΈŒλΌμš°μ € ν™˜κ²½μ—μ„œ 톡합 ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€.
  • ν…ŒμŠ€νŠΈ κ²°κ³Ό(junit.xml)λ₯Ό μ•„ν‹°νŒ©νŠΈλ‘œ μ—…λ‘œλ“œν•©λ‹ˆλ‹€.

5. storybook-test

  • Storybook 및 Storybook ν…ŒμŠ€νŠΈ λŸ¬λ„ˆ 이미지λ₯Ό λ„μ»€λ‘œ λΉŒλ“œν•˜κ³ , Storybook 기반 UI μ»΄ν¬λ„ŒνŠΈ μ ‘κ·Όμ„±/ν…ŒμŠ€νŠΈλ₯Ό μžλ™ν™”ν•©λ‹ˆλ‹€.
  • μ ‘κ·Όμ„± 리포트(a11y-audit)λ₯Ό μ•„ν‹°νŒ©νŠΈλ‘œ μ—…λ‘œλ“œν•©λ‹ˆλ‹€.

πŸ” μžλ™ν™” 흐름 μš”μ•½

  1. λ‹¨μœ„ ν…ŒμŠ€νŠΈ: μ½”λ“œ λ³€κ²½ μ‹œ κ°€μž₯ λ¨Όμ € μ‹€ν–‰λ˜μ–΄ λΉ λ₯΄κ²Œ ν”Όλ“œλ°±μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
  2. 도컀 ν™˜κ²½ μ€€λΉ„: 톡합 ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ 도컀 컴포즈 νŒŒμΌμ„ λ³€ν™˜/μΊμ‹±ν•©λ‹ˆλ‹€.
  3. 톡합 ν…ŒμŠ€νŠΈ: E2E, Lighthouse, Storybook ν…ŒμŠ€νŠΈκ°€ λ³‘λ ¬λ‘œ μ‹€ν–‰λ˜μ–΄ μ‹€μ œ μ„œλΉ„μŠ€ ν™˜κ²½κ³Ό μœ μ‚¬ν•˜κ²Œ κ²€μ¦ν•©λ‹ˆλ‹€.
  4. μ•„ν‹°νŒ©νŠΈ μ—…λ‘œλ“œ: 각 ν…ŒμŠ€νŠΈ κ²°κ³Όλ¬Ό(컀버리지, 리포트 λ“±)은 GitHub Actions의 μ•„ν‹°νŒ©νŠΈλ‘œ μ—…λ‘œλ“œλ˜μ–΄ μΆ”ν›„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ’Ύ μΊμ‹œ μ „λž΅

  • Turbo, node_modules, dist, ν…ŒμŠ€νŠΈ 컀버리지, docker-compose λ³€ν™˜ 파일 λ“± λ‹€μ–‘ν•œ μΊμ‹œλ₯Ό 적극 ν™œμš©ν•˜μ—¬ μ›Œν¬ν”Œλ‘œμš° μ‹€ν–‰ 속도λ₯Ό μ΅œμ ν™”ν•©λ‹ˆλ‹€.

🐳 도컀 기반 톡합 ν…ŒμŠ€νŠΈ ν™˜κ²½

  • E2E, Lighthouse, Storybook ν…ŒμŠ€νŠΈλŠ” μ‹€μ œ μ„œλΉ„μŠ€μ™€ μœ μ‚¬ν•œ ν™˜κ²½μ„ 도컀 μ»¨ν…Œμ΄λ„ˆλ‘œ κ΅¬μ„±ν•˜μ—¬ 신뒰도 높은 ν…ŒμŠ€νŠΈλ₯Ό 보μž₯ν•©λ‹ˆλ‹€.
  • 도컀 컴포즈 파일(docker-compose.gha.yaml)을 μ‚¬μš©ν•˜μ—¬ ν•„μš”ν•œ μ„œλΉ„μŠ€(μ›Ή, Playwright, Lighthouse, Storybook λ“±)λ₯Ό μ»¨ν…Œμ΄λ„ˆλ‘œ λ„μ›λ‹ˆλ‹€.
  • 각 ν…ŒμŠ€νŠΈ μ»¨ν…Œμ΄λ„ˆλŠ” λ³„λ„μ˜ λ„€νŠΈμ›Œν¬(test_network)μ—μ„œ μ‹€ν–‰λ˜μ–΄ μ„œλΉ„μŠ€ κ°„ 톡신이 μ›ν™œν•˜κ²Œ μ΄λ€„μ§‘λ‹ˆλ‹€.

πŸ“Œ μ°Έκ³ 

  • 각 작의 상세 슀크립트 및 섀정은 .github/workflows/test.yml νŒŒμΌμ„ μ°Έκ³ ν•˜μ„Έμš”.
  • ν…ŒμŠ€νŠΈ 결과물은 GitHub Actions의 β€œArtifactsβ€μ—μ„œ λ‹€μš΄λ‘œλ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Last updated on