Vercel
Käivita QA automaatselt iga Verceli eelvaate juurutuse vastu ja teata tulemus juurutuse kontrollina.
Verceli integratsioon jälgib eelvaate (preview) ja toodangu (production) juurutusi webhooki kaudu. Kui juurutus jõuab olekusse ready, käivitab Autonomy konfigureeritud testjuhtumi või testplaani eelvaate URL-i vastu ning teatab õnnestunud/ebaõnnestunud kontrolli otse Verceli juurutusel, kasutando Checks v2 API-t.
Mida see teeb
- Võtab vastu webhooki iga juurutuse oleku muutuse kohta.
- Filtreerib juurutuse konteksti (preview, production või branch) ja haru nime järgi.
- Käivitab konfigureeritud testjuhtumi või testplaani eelvaate URL-i vastu.
- Teatab tulemuse Verceli Checks v2 juurutuse kontrollina, mis on nähtav Verceli töölaual ja GitHubi pull request'il.
- Soovi korral blokeerib juurutuse edendamise (promotion), kuni kontroll lõpeb (
blocks: deployment-promotion). - Toetab kontrolli uuesti taotlemist (check re-request) — Verceli töölaual kontrollil nuppu "Re-run" klõpsates käivitatakse
deployment.check-rerequestedwebhooki kaudu uus Autonomy käivitus. - Kui ka GitHubi hoidla on seotud, postitatakse tulemused nii Verceli kontrolli kui ka commit'i GitHubi kontrollkäivitusena.
Seadistamine
Enne alustamist
- Verceli konto või tiim vähemalt ühe projektiga, mis loob eelvaate juurutusi.
- Vähemalt üks Autonomy testjuhtum, mis läbib veebisihtmärgi vastu.
- Autonomy keskkond veebisihtmärgiga (baas-URL kirjutatakse eelvaate URL-iga üle).
- Verceli integratsioonil peab olema deployment-check ulatus (scope) kontrollide loomiseks ja uuendamiseks.
- Isemajandatava Autonomy jaoks: Convexi tagarakenduses on konfigureeritud VERCEL_CLIENT_ID ja VERCEL_CLIENT_SECRET.
- Ava Autonomy töölaual Settings → Integrations.
- Klõpsa Verceli kaardil Connect. Sind suunatakse Vercelisse integratsiooni autoriseerima.
- Vali Verceli tiim või isiklik konto ja anna küsitud õigused. Integratsioon vajab
deployment-checkulatust. - Tagasi Autonomys klõpsa Link Project. Autonomy kuvab Sinu ühendatud kontole nähtavad Verceli projektid — vali see, mida soovid testida. Projekti taseme kontrolli definitsioon luuakse sidumise ajal automaatselt.
- Vali vaikimisi käivitamise sihtmärgiks Test Case või Test Plan.
- Vali Environment, mille konfiguratsiooni (brauser, vaateava, käitusaja väärtused) tuleks rakendada.
- Jaotises Trigger contexts vali, millised juurutuse tüübid käivitavad testkäivituse — tavaliselt
preview. Lisa Branch filters, kui soovid piirata käivitusi teatud harudega (globi mustrid nagumain,release/*). - Kui soovid tulemusi Vercelisse tagasi teatada, luba Report checks. Luba Block deployment promotion until check completes, et hoida juurutuse edendamist kinni kuni kontrolli lõppemiseni.
- Ava koodimuudatusega pull request ja veendu, et käivitus algab, kui Verceli eelvaade on valmis.
Kuidas käivitus toimub
Kui Vercel saadab deployment.ready webhooki:
- Autonomy otsib seotud projekti Verceli projekti ID järgi.
- Juurutuse konteksti (
preview,productionvõibranch) kontrollitakse projekti trigger contexts suhtes. - Juurutuse haru kontrollitakse projekti branch filters suhtes.
- Kui vaikimisi testjuhtum või testplaan on konfigureeritud, loob Autonomy käivituse, mis sihib eelvaate URL-i.
- Käivitus kasutab seotud keskkonna konfiguratsiooni brauseri, vaateava ja käitusaja väärtuste jaoks.
Kaitstud eelvaated
Kui Verceli juurutuskaitse (Deployment Protection) on lubatud, ei pääse käivitaja eelvaate URL-ile ilma möödapääsuta ligi. Selle konfigureerimiseks:
- Ava Verceli töölaual oma projekti Settings → Deployment Protection.
- Kopeeri saladus Protection Bypass for Automation (UUID-v4 väärtus).
- Ava Autonomys seotud projekti seaded ja kleebi saladus väljale Preview access secret.
Autonomy saadab saladuse pärisena x-vercel-protection-bypass ja küpsisena x-vercel-set-bypass-cookie igal päringul selle projekti eelvaate URL-ile. Saladus ei lahku kunagi tagarakendusest — käivitaja saab selle läbipaistmatu pärise süstimisena.
Oleku teatamine
Vercel on ainus juurutuse pakkuja, millel on natiivne kontrollipind. Kui Report checks on lubatud:
- Projekti taseme kontrolli definitsioon (check definition) luuakse projekti sidumisel. See definitsioon kannab blokeerimispoliitikat ja kehtib kõigile juurutustele.
- Kui juurutus jõuab olekusse
ready, luuakse definitsiooni vastu kontrollkäivitus (check run), mis on nähtav Verceli töölaual juurutuse vahekaardil Checks. - Kui kõik käivitused on lõppenud, uuendatakse kontrolli olekuks
succeeded,failed,canceled,neutralvõitimeout. - Kontroll viitab tagasi Autonomy tõendite tööruumile, nii et ülevaatajad saavad kontrollida ekraanipilte, jälitusi (traces) ja sammude taseme tulemusi.
- Kui hoidlasse on installitud ka GitHubi rakendus, ilmub sama tulemus GitHubi kontrollkäivitusena commit'il.
Kui Block deployment promotion on lubatud, hoiab Vercel juurutuse toodangusse edendamist kinni kuni Autonomy kontrolli lõppemiseni. Kontrollil on 15-minutiline ajalõpp (timeout) — kui käivitus ei lõpe selle aja jooksul, märgib Vercel kontrolli aegunuks.
Kontrolli uuesti taotlemine
Klõpsates Verceli töölaual kontrollil "Re-run", saadetakse deployment.check-rerequested webhook. Autonomy loob samaniku juurutuse vastu uue käivituse, kasutades projekti praegust konfiguratsiooni. See on kasulik ebakindla testi uuesti proovimiseks või pärast konfiguratsioonimuudatust uuesti käivitamiseks.
Monorepo ja mitu projekti
Üks GitHubi hoidla saab olla seotud mitme Verceli projektiga. Autonomy sidus iga Verceli projekti sõltumatult — igaüks saab oma testi sihtmärgi, keskkonna, käivituskontekstid ja harufiltrid.
Kui Vercel saadab monorepo juurutuse kohta webhooki, sobitab Autonomy selle õige seotud projektiga Verceli projekti ID, mitte hoidla järgi. Kui Sul on ühes hoidlas kolm Verceli projekti (veebirakendus, dokumentatsioonisait, halduspaneel), saad siduda need kõik erinevate testplaanidega.
Keskkonnamuutujad (isemajandatav)
| Variable | Required | Description |
|---|---|---|
| VERCEL_CLIENT_ID | Yes | OAuth client ID from the Vercel integration settings. |
| VERCEL_CLIENT_SECRET | Yes | OAuth client secret. Also used as the webhook signing secret for integration lifecycle events. |
| NEXT_PUBLIC_VERCEL_INTEGRATION_SLUG | Yes | The integration slug, used to build the Vercel Marketplace install URL. |
Tõrkeotsing
Ükski käivitus ei alga, kui eelvaade juurutatakse
Juurutus peab jõudma olekusse ready. Kontrolli järgmist:
- Verceli konto on ühendatud ja näitab Autonomys olekut Active.
- Verceli projekt on seotud. Autonomy jälgib ainult seotud projekte.
- Projekt on lubatud — keelatud projekt salvestab sündmuse, kuid jätab käivituse vahele (
project disabled). - Juurutuse kontekst (preview/production) on projekti trigger contexts hulgas. Kui mitte, jäetakse sündmus vahele põhjusega
context <x> not enabled. - Haru vastab projekti branch filters reeglitele. Mitterahuldamisel jäetakse vahele põhjusega
branch <x> filtered. - Valitud on vaikimisi testjuhtum või testplaan. Ilma selleta jäetakse sündmus vahele põhjusega
no default test target. - Eelvaate URL on webhooki andmetes olemas. Puuduv URL jätab sündmuse vahele põhjusega
no preview URL.
Käivitus ei pääse eelvaateni
Eelvaate URL on blokeeritud Verceli juurutuskaitse poolt. Käivitus ebaõnnestub kaitselehel, kui möödapääsu saladus puudub või on aegunud. Lisa või värskenda Preview access secret seotud projekti seadetes.
Verceli kontroll näitab "neutral"
Tulemus neutral tähendab, et käivitus jäeti vahele — tavaliselt jõudluse või kvoodipiirangu tõttu. Kontrolli sündmuse üksikasju Autonomys vahelejätmise põhjust.
Verceli kontroll näitab "timeout"
Kontrollil on 15-minutiline ajalõpp. Kui Autonomy käivitus võtab kauem aega kui 15 minutit, märgib Vercel kontrolli aegunuks. Käivitus võib Autonomys siiski lõpule jõuda, kuid Verceli kontrolli ei uuendata.
Dubleeritud käivitused sama juurutuse jaoks
Autonomy eemaldab duplikaadid võtme abil, mis sisaldab Verceli juurutuse ID-d ja olekut. Uuesti kohale toodud webhook ei loo teist käivitust. Kui näed duplikaate, veendu, et kaks eraldi Verceli projekti pole mõlemad seotud sama Autonomy testi sihtmärgiga.