Autonomy dokumentatsioon
Integratsioonid

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-rerequested webhooki 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.
  1. Ava Autonomy töölaual Settings → Integrations.
  2. Klõpsa Verceli kaardil Connect. Sind suunatakse Vercelisse integratsiooni autoriseerima.
  3. Vali Verceli tiim või isiklik konto ja anna küsitud õigused. Integratsioon vajab deployment-check ulatust.
  4. 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.
  5. Vali vaikimisi käivitamise sihtmärgiks Test Case või Test Plan.
  6. Vali Environment, mille konfiguratsiooni (brauser, vaateava, käitusaja väärtused) tuleks rakendada.
  7. 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 nagu main, release/*).
  8. 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.
  9. 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:

  1. Autonomy otsib seotud projekti Verceli projekti ID järgi.
  2. Juurutuse konteksti (preview, production või branch) kontrollitakse projekti trigger contexts suhtes.
  3. Juurutuse haru kontrollitakse projekti branch filters suhtes.
  4. Kui vaikimisi testjuhtum või testplaan on konfigureeritud, loob Autonomy käivituse, mis sihib eelvaate URL-i.
  5. 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:

  1. Ava Verceli töölaual oma projekti Settings → Deployment Protection.
  2. Kopeeri saladus Protection Bypass for Automation (UUID-v4 väärtus).
  3. 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, neutral või timeout.
  • 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)

VariableRequiredDescription
VERCEL_CLIENT_IDYesOAuth client ID from the Vercel integration settings.
VERCEL_CLIENT_SECRETYesOAuth client secret. Also used as the webhook signing secret for integration lifecycle events.
NEXT_PUBLIC_VERCEL_INTEGRATION_SLUGYesThe 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.

On this page