Autonomy dokumentatsioon
Integratsioonid

Juurutuse webhookid

Käivita projekti testiplaan, kui sinu enda CI, Railway või Coolify lõpetab juurutuse.

Juurutuse webhook on URL, mis alustab käivitusi. Seda saab kutsuda iga tööriist, mis oskab juurutuse lõppedes HTTP-päringu saata: sinu enda CI, Railway või Coolify. Iga juurutuse webhook kuulub ühele projektile ja käivitab ühe selle testiplaanidest ühes selle keskkondadest, juurutatud URL-i vastu, kui juurutus selle saadab.

Kasuta seda majutusteenuste puhul, millel pole oma Autonomy integratsiooni. Verceli, Netlify ja Expo EAS-i puhul kasuta hoopis nende integratsioone.

Loo juurutuse webhook

Ainult omanikele ja administraatoritele.

  1. Ava Organization → Integrations → Deploy webhooks.
  2. Täida jaotises New deploy webhook:
    • Name: näiteks „Railway · Staging“.
    • Project: kelle testid käivituvad.
    • Environment: käivitused kasutavad selle väärtusi ja sisselogimisi ning selle URL-i, kui juurutus URL-i ei saada (Railway ei saada).
    • Test plan: mis igal juurutusel käivitub. Valikuga None juurutused salvestatakse, kuid midagi ei käivitu.
  3. Klõpsa Create deploy webhook.
  4. Kopeeri URL ja Secret kohe. „Copy these now — the secret isn't shown again.“

Igal juurutuse webhookil on oma URL ja saladus. Hoia neid oma tööriista saladuste hoidlas, mitte kunagi hoidlas.

Saladuse muutmiseks klõpsa Replace secret: Autonomy näitab uut saladust üks kord ja vana lakkab kohe töötamast. Juurutuse webhooki peatamiseks klõpsa Remove.

Autendi päring

Autonomy aktsepteerib kolme viisi tõestada, et päring tuleb sinult. Kui päringus on neist mitu, peavad kõik klappima. Vale saladus või URL, mis ei viita ühelegi juurutuse webhookile, saab vastuseks 401 Unauthorized.

SaatjaKuidas saladust saata
Sinu enda CIAllkirjasta päringu toorkeha HMAC-SHA256-ga, kasutades võtmena saladust, ja saada X-Autonomy-Signature: sha256=<hex digest>.
RailwayLisa päis Authorization: Bearer <secret>.
CoolifyCoolify ei saa päiseid saata: kasuta URL-i, mille lõppu on lisatud ?token=<secret>.

Allkirjastamine on kõige turvalisem valik. URL-is olev saladus võib sattuda logidesse, seega kasuta ?token= ainult tööriistade puhul, mis päiseid saata ei oska.

Sinu enda CI

Saada juurutuse lõppedes JSON-keha:

VäliKohustuslikTähendus
idJahSinu juurutuse ID. Iga juurutus ja olek käivitub üks kord.
statusJahready (või success, succeeded) alustab käivitused. building, failed, error, canceled ja cancelled ainult salvestatakse.
urlEiJuurutatud URL. Käivitused testivad seda keskkonna veebi-URL-i asemel. Peab olema avalik HTTPS-aadress.
branchEiJuurutatud haru.
commitEiCommit'i SHA.
pullRequestEiPull request'i number.
contextEipreview, production või branch.
Kutsu juurutuse webhooki pärast juurutustbash
body=$(jq -nc \
--arg id "$DEPLOY_ID" \
--arg url "$PREVIEW_URL" \
--arg branch "$BRANCH" \
--arg commit "$COMMIT_SHA" \
'{id: $id, status: "ready", url: $url, branch: $branch, commit: $commit, context: "preview"}')

signature=$(printf '%s' "$body" \
| openssl dgst -sha256 -hmac "$AUTONOMY_DEPLOY_WEBHOOK_SECRET" \
| sed 's/^.* //')

curl -fsS -X POST "$AUTONOMY_DEPLOY_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-H "X-Autonomy-Signature: sha256=$signature" \
--data "$body"

Allkirjasta täpselt need baidid, mille saadad. Kui kodeerid JSON-i pärast allkirjastamist uuesti, muutub keha ja allkiri enam ei klapi.

Railway

  1. Lisa oma Railway projektis webhook ja kleebi sinna juurutuse webhooki URL.
  2. Lisa päis Authorization: Bearer <secret>.

Railway saadab juurutuse sündmusi. Õnnestunud juurutus alustab käivitused; läbikukkunud, kokku jooksnud ja eemaldatud juurutused ainult salvestatakse. Railway ei saada juurutatud URL-i, seega testivad käivitused juurutuse webhooki keskkonda. Iga Railway keskkond, mis sellele URL-ile saadab, käivitub selle ühe keskkonna vastu, nii et saada ainult sellele vastava Railway keskkonna juurutusi.

Coolify

Kleebi Coolify webhooki teavituste seadetes juurutuse webhooki URL, mille lõppu on lisatud ?token=<secret>.

Sündmus deployment_success alustab käivitused juurutatud aadressi vastu või pull request'i juurutuse puhul eelvaate aadressi vastu. deployment_failed ainult salvestatakse ja teisi Coolify sündmusi eiratakse.

Mis igal juurutusel juhtub

  • Valmis juurutus alustab testiplaani keskkonnas, juurutatud URL-i vastu, kui juurutus selle saatis.
  • Iga juurutus käivitub üks kord. Sama juurutuse ja oleku kohta korratud päring teist käivitust ei alusta.
  • Midagi ei käivitu, kui projekt või keskkond on arhiveeritud või kui testiplaan on arhiveeritud või pole enam projektis.
  • Käivitused ilmuvad projekti lehele Runs nagu iga teine käivitus ja saadavad sinu seadistatud teavitused.

Juurutuse webhook ei postita GitHubi kontrolli. Kontrolli saamiseks igale pull request'ile vaata Pull request'ide testimine.

Tõrkeotsing

Päring saab vastuseks 401

Saladus ei klapi või URL on vale. Kontrolli, et kopeerisid kogu URL-i, et allkiri arvutatakse täpselt saadetava keha põhjal ja et saladust pole vahepeal asendatud. Kahtluse korral klõpsa Replace secret ja uuenda oma tööriista.

Päring õnnestub, kuid ühtegi käivitust ei alga

Kontrolli, et juurutuse webhookil on Test plan, et status ütleb, et juurutus on valmis, ning et projekt, keskkond ja testiplaan pole arhiveeritud. Juurutuse webhooki rida näitab, millal see viimati juurutuse sai.

Käivitused testisid vale aadressi

Ilma väljata url kasutavad käivitused keskkonna veebi-URL-i. Saada kehas url või suuna keskkond õigele aadressile.

Ei leidnud?

On this page