Trigger.dev
Bağla
Trigger.dev hesabını terminalden bağla. Trigger.dev hesabının kabul ettiği bayraklar için --help, başsız ortamlar için ayrıca --no-browser geç.
polylane cloud connect --provider triggerdevOrtamın API Keys sayfasından "No restrictions" ön ayarıyla oluşturulmuş bir ortam gizli anahtarı.
- Trigger.dev'de ortamın API Keys sayfasını açın ve "No restrictions" ön ayarıyla bir anahtar oluşturun.
- Anahtarı Polylane'e yapıştırın ve Connect'e basın. Anahtar kendi projesini ve ortamını kendisi bildirir, bu yüzden başka bir şey yazmanız gerekmez.
Polylane ortamı, dağıtımını, görevleri, zamanlamaları ve kuyrukları haritalar. Çalıştırmalarda görülen ancak mevcut sürümde bulunmayan bir görev haritada kalır ve işaretlenir. Anahtarlar şifrelenir ve ajan onları asla görmez.
Dağıtım ve uyarı webhook'ları
Trigger.dev webhook uyarıları başarısız bir çalıştırmada sorun açar ve dağıtım uyarılarını bir sonraki başarıda çözer. Ortam başına bir uyarı:
- Ortamın Alerts sayfasında, hesabın Settings sayfasında Webhooks altındaki URL ve "Task run failure", "Deployment failure" ve "Deployment success" olaylarıyla bir webhook uyarısı ekleyin.
- Trigger.dev'in bir kez gösterdiği imza gizli anahtarını aynı Webhooks kartına yapıştırın.
Sorun giderme
"Polylane needs a key created with the 'No restrictions' preset"
- Trigger only, Observer, Deploy only, Task operator ve Variables only anahtarları kullanılamaz: Polylane projenin kimliğini yalnızca bir "No restrictions" anahtarının çağırabildiği bir uç nokta üzerinden okur. Ortamın API Keys sayfasında bir "No restrictions" anahtarı oluşturun ve bağlayın.
"Trigger.dev did not recognize this key"
- Anahtarın eksiksiz kopyalandığından ve iptal edilmediğinden emin olun.
"Dev keys only work while trigger dev runs" ve "Preview keys are per branch and not supported"
- Bir prod veya staging anahtarı kullanın.
Eksik kaynaklar
- Hesap başlığındaki "Sync" bir sonraki 15 dakikalık geçişten önce yeniler.
Bağlantıyı kesme
Polylane'de bağlantıyı kesin, ardından anahtarı ortamın API Keys sayfasından silin.
Trigger.dev hesabını bir CI işinden veya tarayıcısı olmayan başka herhangi bir ortamdan bağla.
Trigger.dev'i bağlamak tarayıcı gerektirmez: konsolun çağırdığı aynı uç nokta bir CI işine sığar. Kimliği doğrulanmış tek bir POST bağlantıyı oluşturur ve ilk eşitlemeyi başlatır.
Ön koşullar
cloud_accounts:writevecloud_accounts:readkapsamlı bir Polylane API anahtarı. Bkz. API anahtarları ve OAuth.ws_ile başlayan çalışma alanı kimliğin. Aynı anahtarlaGET /v1/workspacesüzerinden oku.- Projenin prod veya staging ortamından, API Keys altında bir Trigger.dev ortam gizli anahtarı (
tr_prod_sk_…veyatr_stg_sk_…). No restrictions ön ayarıyla oluştur: Polylane projenin kimliğini yalnızca bir "No restrictions" anahtarının çağırabildiği bir uç nokta üzerinden okur, bu yüzden Trigger only, Observer, Deploy only, Task operator ve Variables only anahtarları reddedilir; dev ve preview anahtarları da reddedilir.
Bağlantıyı oluştur
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "triggerdev",
"workspaceId": "ws_0abc123",
"apiKey": "<environment-secret-key>"
}'
Anahtar kendi projesini ve ortamını kendisi bildirir ve bir anahtar tam olarak bir ortama aittir, bu yüzden bir çağrı bir ortam bağlar: bir prod anahtarı üretimi, bir staging anahtarı staging'i, her biri kendi hesabı olarak bağlar. Zaten bağlı bir ortam için anahtar göndermek hesabın anahtarını değiştirir. Ayarlanacak bir ortam düğmesi yoktur. Bir ortamı bağlamak onu izlemeyi seçme biçimidir.
Yanıt, ilk eşitleme zaten çalışıyor halde neyin bağlandığını listeler. Akışın geri kalanının okuduğu iki alana kırpılmış hali:
{
"success": true,
"result": {
"provider": "triggerdev",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
API'nin reddettiği bir anahtar, nedenini söyleyen mesajla birlikte accounts yerine failures içine düşer, bu yüzden çağrıyı yinelemek asla bir bağlantıyı çoğaltmaz.
İlk eşitlemeyi bekle
Döndürülen her hesabı id değeriyle, status değeri ready olana kadar yokla (kayıtta new, kaynaklar akarken syncing):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
Başarısız bir bağlama işi askıda bırakmak yerine başarısız kılsın diye döngüye bir son tarih ver. Hesap ready olduğunda kaynakları topolojidedir ve Polylane ilk kontrolünü başlatmıştır.
API'den bağlantıyı kes
Bağlantıyı silmek her eşitlemeyi ve kontrolü durdurur ve Polylane'in tuttuğu kimlik bilgilerini siler. Çağrı cloud_accounts:delete kapsamını gerektirir:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Sonra Trigger.dev anahtarını, aşağıda Bağlantıyı kesme altında anlatıldığı gibi sağlayıcı tarafında iptal et.
Bağlantıyı kes
Bağlantıyı kesmek her eşitlemeyi ve kontrolü durdurur ve Polylane'in tuttuğu kimlik bilgilerini siler. Polylane, Trigger.dev API'sinin kaldırmasına izin verdiği her şeyi kaldırır. Şunlar sen kendin kaldırana kadar kalır:
- Trigger.dev webhook alert
polylane cloud disconnect <id>Araçlar
5Ajanların threadlerde yapabileceği işlemler.
Desteklenen kaynaklar
5Altyapı grafiğinde görünen kaynak türleri.