Core/Dash CI/CD automaattiset suorituskykytarkistukset
Integroi Core/Dash CI/CD-liukuhihnaasi yhdellä curl-kutsulla. Merkitse suorituskykybudjetin ylittävät koontiversiot ennen julkaisua. Seuraa todellisten käyttäjien suorituskykyä jokaisella julkaisulla.
Mikä julkaisu teki siitä hitaamman?
LCP oli 2,1 s kaksi kuukautta sitten. Nyt se on 2,9 s. Olet julkaissut neljäkymmentä kertaa sen jälkeen. Tässä on kuitenkin ongelma: pelkkä aikajana ei kerro, mikä julkaisu aiheutti tämän.
![]()
Siksi Core/Dash yhdistää jokaisen todellisen käyttäjän vierailun tiettyyn julkaisuun. Mielestämme RUM-datan pitäisi kertoa "v2.4.1 teki tämän" eikä "jokin hidastui viime kuussa".
Core/Dash suorittaa kaksi tarkistusta jokaisen julkaisun yhteydessä. Ennen julkaisua Core/Dash skannaa esikatseluversion ja merkitsee liukuhihnan, jos sivu ylittää budjetin. Julkaisun jälkeen jokainen sivulataus merkitään versiolla, joten jokaista versiota mitataan sen omalla käyttäjäliikenteellä.
Nämä kaksi tarkistusta löytävät Core Web Vitals -ongelmat eri vaiheissa. Ennen julkaisua tehtävä tarkistus on synteettinen, joten se näkee itse koontiversiossa olevat virheet: uusi hero-kuva, joka on 4 Mt PNG, markkinointitägi, joka lisäsi pakettiin 300 Kt skriptiä. Julkaisun jälkeiset tarkistukset ovat puhdasta RUM-dataa. Se kertoo varmuudella, mitä julkaisu todellisuudessa tekee LCP:lle, INP:lle ja CLS:lle.
1: Ennen julkaisua: synteettiset tarkistukset
Core/Dash voi skannata otoksen valvotusta sivustasi. Tuloksia verrataan omiin Core/Dash-suorituskykybudjetteihisi. Jos sivu ylittää budjetin, saat ilmoituksen ennen julkaisua. Päätät itse, mitä teet kyseisellä ilmoituksella.
Jotta tarkistus on luotettava, Core/Dash pisteyttää vain asiat, jotka eivät muutu saman koontiversion kahden ajon välillä. Lighthouse-suorituskykypisteet voivat heilahdella kymmenen pistettä täsmälleen saman sivun kahden ajon välillä, koska niitä hallitsevat CPU-ajoitukset eikä auditointia ajava kone ole koskaan kahdesti sama. Jos pisteytät sen CI:ssä, saat punaisia liukuhihnoja, jotka eivät merkitse mitään.
Lisää tarkistus CI/CD-liukuhihnaasi
Luo ensin projektin API-avain (sovelluksessa: projektisi, sitten AI Insights, sitten Connect Your AI). Lisää sitten tämä vaihe ennen julkaisutehtävääsi. Se kutsuu tarkistuspäätepistettä ja kestää noin 30–45 sekuntia.
STATUS=$(curl -sS -o gate.json -w '%{http_code}' -X POST "https://app.coredash.app/api/project/releases/check" \
-H "Authorization: Bearer $COREDASH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tag":"v1.2.3","origin":"https://preview.example.app"}')
if [ "$STATUS" != "200" ]; then
echo "CoreDash check failed to run (HTTP $STATUS): $(cat gate.json)" >&2
exit 0
fi
VERDICT=$(jq -r '.data.check.status' gate.json)
echo "CoreDash: $VERDICT"
# if [ "$VERDICT" = "breach" ]; then exit 1; fi ## poista kommentointi estääksesi julkaisun
Oletuksena tämä raportoi tuloksen vain CI-lokeihisi. Poista viimeisen rivin kommentointi keskeyttääksesi koonnin, kun sivu ylittää budjetin.
Dataskeema:
| Kenttä | Pakollinen | Kuvaus |
|---|---|---|
tag | kyllä | Versiomerkkijonosi. Kirjaimia, numeroita, . _ / -, enintään 64 merkkiä. |
origin | kyllä | Vain protokolla ja isäntä, esim. https://pr-42.example.app. Ei polkua, kyselyä tai tunnistetietoja. |
sha | ei | Git-commitin tiiviste |
branch | ei | Git-haaran nimi |
actor | ei | Kuka käynnisti julkaisun |
repo | ei | Repositorion nimi |
prNumber | ei | Vetopyynnön numero |
runUrl | ei | Linkki takaisin CI-ajoon |
Git-kentät tallennetaan sovelluksen syvälinkkejä varten, eikä mikään logiikka haaraudu niiden perusteella.
Mitä palautetaan
Kelvollinen pyyntö vastaa aina HTTP 200. Tulokset tai päätös voidaan lukea vastauksesta kohdasta data.check.status:
| Tila | Merkitys |
|---|---|
pass | Jokainen pisteytetty rivi on budjetissa |
breach | Vähintään yksi rivi ylittää budjetin |
error | Yhtäkään sivua ei voitu skannata |
no-budgets | Millään sivulla ei ole budjettia, jota voisi pisteyttää |
Huom: Esikatseludomainin on oltava palvelimiemme saavutettavissa julkisesta internetistä
2: Julkaisun jälkeen: RUM-validointi
Julkaisun jälkeiset tarkistukset ja validointi tapahtuvat yhdistämällä RUM-data julkaisuusi. Jotta voimme yhdistää datasi julkaisuusi, voit helposti lähettää nykyisen julkaisuversion API:llemme.
curl -sS -X POST "https://app.coredash.app/api/project/releases/ingest" \
-H "Authorization: Bearer $COREDASH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tag":"v1.2.3"}'
Tai täysin automatisoituna GitHub Actionsissa, käyttäen git-viitettä versiona:
- name: Raportoi julkaisu CoreDashille
if: success()
env:
COREDASH_API_KEY: ${{ secrets.COREDASH_API_KEY }}
run: |
curl -sS -f -X POST "https://app.coredash.app/api/project/releases/ingest" \
-H "Authorization: Bearer ${COREDASH_API_KEY}" \
-H "Content-Type: application/json" \
-d "{\"tag\":\"${{ github.ref_name }}\"}"
Ei liukuhihnaa, ei hätää! CoreDashin julkaisusivulla on Merkitse julkaisu -lomake. Koska tämä vaatii manuaalisen toimenpiteen eikä sitä voi automatisoida, se ei ole vaadittu menetelmä.
Julkaisujen vertailu Core/Dashissa
Julkaisut-sivu listaa viimeiset 30 päivää, uusin ensin: versio, tuliko se CI:stä vai sovelluksesta, julkaisuaika, p75 jokaiselle Core Web Vitalille, muutos edelliseen julkaisuun ja reaaliaikainen budjettitila.
Julkaisun tiedot on paikka, jossa nämä kaksi puolta todella kohtaavat. Ennen julkaisua tehty tarkistus on ylhäällä, yksi rivi skannattua sivua ja budjettiriviä kohden. Sen alla julkaisu mitataan koko sivustoa vasten samoilla suodattimilla. Näin näet samalta näytöltä, mitä koontiversio lupasi ja mitä käyttäjäsi todellisuudessa saivat.

Performance Snapshots voi piirtää julkaisumerkit kaavioihin, mutta vain julkaistuista versioista.

Katso myös: Core/Dash API tämän datan kyselyyn skriptillä tai tekoälyagentilla, hälytykset ja ilmoitukset budjeteille, joita nämä tulokset käyttävät, ja asennus, jos seurantakoodi ei ole vielä sivustollasi.