LightHouse 리ν¬ν κ²°κ³Όλ₯Ό λ°νμΌλ‘ PR μ½λ©νΈλ₯Ό μμ±ν΄μ£Όλ μλν μ½λμ λλ€.
CI νμ΄νλΌμΈμ ꡬμΆνμ¬ μ 체 μ¬μ΄νΈ μ±λ₯μ λ―ΈμΉλ μν₯μ μλμΌλ‘ 리ν¬ν
λ μ μλλ‘ μ μ©λμ΄ μμ΅λλ€.
-
νλ‘μ νΈμμ
Lighthouse CIλ₯Ό νμ©νμ¬ μΉ μ¬μ΄νΈμ μ±λ₯μ νκ°νκ³ μ€νλ κ²°κ³Όμ νκ· κ°μ μ°μΆν©λλ€. -
μλ μμλ λ€μ― λ² μ€νν κ²°κ³Όμ νκ· κ°μ λν λ³΄κ³ μμ λλ€. Lighthouse CIλ‘ ν΅κ³λ κ²°κ³Όλ₯Ό ν¬λ§·ν ν λ΄μ©μ λλ€.
-
κ° κ²°κ³Όμ λν μΈλΆ λ΄μ©μ ν ννλ‘ νμλ©λλ€.
Web Vitals Summaryλ μΉ μ¬μ΄νΈμ ν΅μ¬ μ±λ₯ μ§νCategories Summaryλ μ±λ₯, μ κ·Όμ±, μ΅μ ν, SEO, PWA κ΄λ ¨ νλͺ©λ€μ νκ° μ μλ₯Ό λνλ λλ€.
-
IS_SHOW_DETAILκ° μ€μ μ ν΅ν΄ μΈλΆ κ²°κ³Ό νκΈ°κ° κ°λ₯ν©λλ€.
-
lighthouse μ€μ νμΌμ λͺ μλ
numberOfRunsνμλ§νΌ μ€νν λ°μ΄ν° κ²°κ³Όλ₯Ό μ§κ³νμ¬ λ°νν©λλ€.
-
LHCIToken λ°κΈSet Secret Name : LHCI_GITHUB_APP_TOKEN -
Setup
package.jsonscripts (in root)"scripts": { "start": "νλ‘μ νΈ μ€νμ νμν script μμ±", "build": "νλ‘μ νΈ λΉλμ νμν script μμ±", }
-
Setup LightHouse config file (
.lighthouserc.js)module.exports = { ci: { collect: { staticDistDir: './build', startServerCommand: 'yarn start', url: ['http://localhost:3000'], numberOfRuns: 3, // LightHouse μ±λ₯ μΈ‘μ νμ }, // ... }, };
-
Modify Web Vitals Result Metrics
export const WEB_VITALS_METRICS = [ // 리ν¬νΈ κ²°κ³Ό μ€ μΆκ° νΉμ μ κ±°νκ³ μΆμ νλͺ© μμ "first-contentful-paint", "first-meaningful-paint", "speed-index", "total-blocking-time", "largest-contentful-paint", "cumulative-layout-shift", ];