-
Notifications
You must be signed in to change notification settings - Fork 1
Description
π λ¬Έμ μν©
λ¬Έμ #330
λ¬Έμ μμΈ
NEXT_PUBLIC_API_URLμ΄ ν΄λΌμ΄μΈνΈμμλ μ λμνμ§λ§, μλ² μ»΄ν¬λνΈμμλ μ λλ‘ λμνμ§ μμμ΅λλ€. μ΄λ νκ²½ λ³μκ° λΉλ μμ μ μ λλ‘ μ€μ λμ§ μμκΈ° λλ¬Έμ
λλ€.
- Next.jsλ λΉλ μμ μ
process.envκ°μ μ½μ΄ κ³ μ λ κ²°κ³Όλ¬Όμ μμ±ν©λλ€. - CI/CD μν¬νλ‘μ°μμ νκ²½ λ³μλ₯Ό λΉλ μ μ μ λ¬νμ§ μμ, μλ² μ»΄ν¬λνΈμμ
undefinedκ°μ μ°Έμ‘°νλ©΄μ μλ¬κ° λ°μνμ΅λλ€.
βοΈ μ¬ν κ°λ₯ μ¬λΆ
- μ
- μλμ€
π» μ½λ
λ¬Έμ ν΄κ²°
GitHub Secretsλ₯Ό μ¬μ©νμ¬ νκ²½ λ³μλ₯Ό CI/CD νκ²½μ μ λ¬νμ¬ ν΄κ²°νμ΅λλ€.
jobs:
ci:
steps:
- name: Set environment variables
run: echo "NEXT_PUBLIC_API_URL=${{ secrets.NEXT_PUBLIC_API_URL }}" >> .env
- name: Build Next.js app
env:
NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }}
run: npm run buildλ¬Έμ ν΄κ²° κ³Όμ
1. GitHub Secrets λ±λ‘
νκ²½ λ³μλ₯Ό μμ νκ² κ΄λ¦¬νκΈ° μν΄ GitHub Secretsμ NEXT_PUBLIC_API_URL κ°μ λ±λ‘νμ΅λλ€.
- μμΉ:
νλ‘μ νΈ Repo > Settings > Secrets and variables > Actions - λ±λ‘λ κ°μ GitHub Actions μν¬νλ‘μ°μμ μ°Έμ‘°ν μ μμ΅λλ€.
2. νκ²½ λ³μ μ λ¬ μ€μ
GitHub Actions μν¬νλ‘μ°μμ λΉλ μμ μ νκ²½ λ³μλ₯Ό μ λ¬νλλ‘ μ€μ νμ΅λλ€.
-
νκ²½ λ³μ νμΌ μμ±
GitHub Actionsμμ Secrets κ°μ κ°μ Έμ CI/CD νκ²½μμ
.envνμΌμ μμ±νκ³NEXT_PUBLIC_API_URLκ°μ μΆκ°νμ΅λλ€.- name: Set environment variables run: echo "NEXT_PUBLIC_API_URL=${{ secrets.NEXT_PUBLIC_API_URL }}" >> .env
πμ΄
.envνμΌμ CI/CD νκ²½ λ΄μμλ§ μ¬μ©λλ©°, λ‘컬μ.envμλ λ³κ°μ λλ€. λΉλ λ° μλ² μ€ν μ νκ²½ λ³μλ₯Ό μ¬μ©ν μ μλλ‘ λ³΄μ₯ν©λλ€. -
λΉλ μ νκ²½ λ³μ μ λ¬
Next.jsλ λΉλ μμ μ νκ²½ λ³μλ₯Ό μ½μ΄μΌ νκΈ° λλ¬Έμ, νκ²½ λ³μλ₯Ό λͺ μμ μΌλ‘ μ λ¬νμ΅λλ€.
- name: Build Next.js app env: NEXT_PUBLIC_API_URL: ${{ secrets.NEXT_PUBLIC_API_URL }} run: npm run build
πNext.jsλ λΉλ μμ μ
process.envκ°μ κ³ μ λ κ°μΌλ‘ μ½κΈ° λλ¬Έμ, νκ²½ λ³μλ₯Ό λΉλ λ¨κ³μμ μ£Όμ ν΄μΌ μ¬λ°λ₯Έ κ²°κ³Όλ¬Όμ΄ μμ±λλ€.
ππ» μ°Έκ³ μλ£
π€μΆκ°μ μΌλ‘ μ΄ν΄ν΄μΌ ν μ
- λΉλμ λ°νμμ μ°¨μ΄
- λΉλ μμ : Next.jsλ νκ²½ λ³μλ₯Ό μ½μ΄ μ μ HTMLκ³Ό JSλ₯Ό μμ±ν©λλ€.
- λ°νμ: μλ² μ€ν μ€μλ
process.envμ μ κ·Ό κ°λ₯νμ§λ§, λΉλ μ νκ²½ λ³μκ° λλ½λλ©΄ λ°νμμμλ λμνμ§ μμ΅λλ€.
.envμ λ‘컬 μ€μ - CI/CDμμ μμ±λ
.envνμΌμ λ‘컬μ.envμ λ³κ°μ λλ€. - λ‘컬 νκ²½μμλ
.env.localνμΌμ μ¬μ©ν΄ λμΌν μ€μ μ μ μ©ν μ μμ΅λλ€.
- CI/CDμμ μμ±λ
