πΌ Lighthouse ν μ€νΈ
μ΄ νλ‘μ νΈμμλ Lighthouse ν
μ€νΈλ₯Ό CI νκ²½μμ μλμΌλ‘ μ€νν©λλ€.
μλλ .github/workflows/test.yml
μν¬νλ‘μ°μ lighthouse-test
jobμμ μννλ μ£Όμ λ¨κ³μ
λλ€.
π» ν μ€νΈ νκ²½
π³ Docker κΈ°λ° Lighthouse ν μ€νΈ
μ΄ μν¬νλ‘μ°λ Dockerλ₯Ό μ¬μ©νμ¬ Lighthouse ν μ€νΈλ₯Ό μ€νν©λλ€. Docker Composeλ₯Ό μ¬μ©νμ¬ μλμ κ°μ΄ μΉ μλ²μ Lighthouse CI λ¬λ 컨ν μ΄λλ₯Ό μ€ννκ³ , ν μ€νΈ κ²°κ³Όλ₯Ό GitHub Actions μν°ν©νΈλ‘ μ λ‘λν©λλ€.
π ν μ€νΈ μν¬νλ‘μ°
λ¨κ³λ³ μ€λͺ
-
μ½λ 체ν¬μμ λ° μΊμ 볡μ
- μμ€ μ½λλ₯Ό 체ν¬μμνκ³ , λ³νλ docker-compose νμΌ μΊμλ₯Ό 볡μν©λλ€.
-
GitHub Container Registry λ‘κ·ΈμΈ
- Lighthouse ν μ€νΈ κ΄λ ¨ μ΄λ―Έμ§λ₯Ό λΉλ λ° μ€ννκΈ° μν΄ ghcr.ioμ λ‘κ·ΈμΈν©λλ€.
-
λ컀 λ€νΈμν¬ μ€λΉ
test_network
λΌλ μΈλΆ λ컀 λ€νΈμν¬κ° μμΌλ©΄ μμ±ν©λλ€.
-
Lighthouse μ΄λ―Έμ§ λΉλ
docker-compose.gha.converted.yaml
νμΌμ μ¬μ©νμ¬web
λ°lighthouse-runner
2κ°μ μ΄λ―Έμ§λ₯Ό λΉλν©λλ€.
-
Lighthouse ν μ€νΈ μ€ν
web
κ³Όlighthouse-runner
컨ν μ΄λλ₯Ό μ€ννμ¬ Lighthouse ν μ€νΈλ₯Ό μνν©λλ€.lighthouse-runner
컨ν μ΄λμμ ν μ€νΈλ₯Ό μ€νν©λλ€.lighthouse-runner
컨ν μ΄λμ λͺ¨λ νλ‘μΈμ€κ° μλ£λλ©΄ λ 컨ν μ΄λλ₯Ό μ€μ§ν©λλ€.
-
Lighthouse 리ν¬νΈ μ λ‘λ
- ν
μ€νΈ κ²°κ³Όλ
.lighthouserc.cjs
μ€μ μ λ°λΌ Temporary Public Storage μ μ λ‘λλ©λλ€.
- ν
μ€νΈ κ²°κ³Όλ
π§ͺ μ΄λ€ ν μ€νΈκ° μ€νλλμ?
Lighthouse CI
Lighthouse ν
μ€νΈλ Lighthouse CIλ₯Ό κΈ°λ°μΌλ‘ νλ©°,
tools/lighthouse-ci
λλ ν 리 λ΄μ μ μλ μ€μ μ λ°λΌ μ€νλ©λλ€.
- Lighthouseλ μΉ νμ΄μ§μ μ±λ₯, μ κ·Όμ±, SEO, λ² μ€νΈ νλν°μ€ λ±μ μλμΌλ‘ λΆμν©λλ€.
- ν μ€νΈ κ²°κ³Όλ HTML, JSON λ± λ€μν νμμ 리ν¬νΈλ‘ μμ±λμ΄ μ»¨ν μ΄λ λ΄λΆμ μ μ₯λκ³ , Temporary Public Storage μ μ λ‘λλ©λλ€.
- ν μ€νΈ μ€ν¨ μμλ μν¬νλ‘μ°κ° μ€λ¨λμ§ μλλ‘ μμΈλ₯Ό μ²λ¦¬ν©λλ€.
μ¦, μ£Όμ μΉ νμ΄μ§μ λν Lighthouse μλ λΆμμ΄ μ€νλκ³ , κ·Έ κ²°κ³Όκ° λ¦¬ν¬νΈλ‘ λ¨μ΅λλ€.
π¦ ν μ€νΈ μν°ν©νΈ
Lighthouse μλ λΆμ κ²°κ³Ό
ν μ€νΈκ° μλ£λλ©΄ Lighthouse 리ν¬νΈκ° μμ±λμ΄ Temporary Public Storage μ μ λ‘λλ©λλ€. κ·Έλ¦¬κ³ PR(Pull Request)μ Check κ²°κ³Όμ μ°λλμ΄, μΉ νμ΄μ§μ νμ§ μ§νλ₯Ό νμΈν μ μμ΅λλ€.
λͺ©μ
μ΄ λ¦¬ν¬νΈλ μΉ νμ΄μ§μ μ±λ₯, μ κ·Όμ±, SEO λ± λ€μν νμ§ μ§νλ₯Ό μλμΌλ‘ λΆμνκ³ , κ°μ ν μ μλ μ 보λ₯Ό μ 곡ν©λλ€.
π μ°Έκ³
μμΈν μν¬νλ‘μ°λ .github/workflows/test.yml
νμΌμ lighthouse-test
μ‘μ μ°Έκ³ νμΈμ.