Skip to Content
Nextra 4.0 is released πŸŽ‰

πŸ¦‹ Release

이 λ¬Έμ„œλŠ” .github/workflows/release.yml GitHub Actions μ›Œν¬ν”Œλ‘œμš°μ˜ μ£Όμš” λ™μž‘μ„ μ„€λͺ…ν•©λ‹ˆλ‹€.

이 μ›Œν¬ν”Œλ‘œμš°λŠ” npm νŒ¨ν‚€μ§€μ˜ 릴리즈 과정을 μžλ™ν™”ν•©λ‹ˆλ‹€. 이 ν”„λ‘œμ νŠΈμ—μ„œ changesets λ₯Ό μ΄μš©ν•œ npm νŒ¨ν‚€μ§€λ₯Ό 릴리즈 과정이 μ–΄λ–»κ²Œ μ§„ν–‰λ˜λŠ”μ§€μ— λŒ€ν•œ 보닀 μžμ„Έν•œ λ‚΄μš©μ€ νŒ¨ν‚€μ§€ > 버저닝 및 배포 λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

μ›Œν¬ν”Œλ‘œμš° κ°œμš”

이 μ›Œν¬ν”Œλ‘œμš°λŠ” main λΈŒλžœμΉ˜μ— pushκ°€ λ°œμƒν•  λ•Œ μžλ™μœΌλ‘œ μ‹€ν–‰λ˜λ©°, λ‹€μŒκ³Ό 같은 릴리즈 과정을 μžλ™ν™”ν•©λ‹ˆλ‹€.

  • μ˜μ‘΄μ„± 및 λΉŒλ“œ/배포 μ‚°μΆœλ¬Ό 캐싱
  • μ˜μ‘΄μ„± μ„€μΉ˜ 및 λΉŒλ“œ
  • ν…ŒμŠ€νŠΈ μ‹€ν–‰
  • Changesetsλ₯Ό ν†΅ν•œ 릴리즈 PR 생성

μ‹€ν–‰ 방식

순차 μ‹€ν–‰

이 μ›Œν¬ν”Œλ‘œμš°λŠ” ν•˜λ‚˜μ˜ 작(job)으둜 κ΅¬μ„±λ˜μ–΄ 있으며, μ•„λž˜μ™€ 같은 μˆœμ„œλ‘œ λ‹¨κ³„λ³„λ‘œ μ‹€ν–‰λ©λ‹ˆλ‹€.

μ£Όμš” 단계(Stage) μ„€λͺ…

Checkout Repo

  • μ €μž₯μ†Œμ˜ μ½”λ“œλ₯Ό μ²΄ν¬μ•„μ›ƒν•©λ‹ˆλ‹€.

Setup pnpm

  • pnpm νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.

Setup Node.js

  • .nvmrc νŒŒμΌμ— λͺ…μ‹œλœ Node.js 버전을 μ„€μΉ˜ν•˜κ³ , pnpm μΊμ‹œλ₯Ό ν™œμ„±ν™”ν•©λ‹ˆλ‹€.

Restore turbo cache

  • TurboRepo λΉŒλ“œ μΊμ‹œλ₯Ό λ³΅μ›ν•˜μ—¬ λΉŒλ“œ 속도λ₯Ό λ†’μž…λ‹ˆλ‹€.

Restore node_modules cache

  • 루트 및 각 μ›Œν¬μŠ€νŽ˜μ΄μŠ€μ˜ node_modules 디렉터리 μΊμ‹œλ₯Ό λ³΅μ›ν•©λ‹ˆλ‹€.

Restore dist cache

  • λΉŒλ“œ μ‚°μΆœλ¬Ό(.next, dist, storybook-static λ“±) μΊμ‹œλ₯Ό λ³΅μ›ν•©λ‹ˆλ‹€.

Install Dependencies

  • pnpm install --frozen-lockfile둜 μ˜μ‘΄μ„±μ„ μ„€μΉ˜ν•©λ‹ˆλ‹€.

Build Packages

  • pnpm run build둜 전체 νŒ¨ν‚€μ§€λ₯Ό λΉŒλ“œν•©λ‹ˆλ‹€.

Run Tests

  • pnpm run test둜 ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

Create Release Pull Request

  • Changesetsλ₯Ό μ΄μš©ν•΄ λ³€κ²½λœ νŒ¨ν‚€μ§€μ˜ 버전을 올리고, 릴리즈 PR을 μžλ™ μƒμ„±ν•©λ‹ˆλ‹€.
  • NPM 배포λ₯Ό 원할 경우, κ΄€λ ¨ μ„€μ • 및 μ‹œν¬λ¦Ώμ„ μΆ”κ°€ν•˜λ©΄ μžλ™ 배포도 κ°€λŠ₯ν•©λ‹ˆλ‹€.

이 μ›Œν¬ν”Œλ‘œμš°λŠ” μΊμ‹œ ν™œμš©κ³Ό μžλ™ν™”λœ 릴리즈 PR 생성을 톡해 효율적이고 μΌκ΄€λœ 릴리즈 ν”„λ‘œμ„ΈμŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.


Last updated on