CommunityCodierung & Entwicklunggithub.com

ComposioHQ/deploy-pipeline

Führen Sie End-to-End-Deployment-Pipelines über Stripe, Supabase und Vercel mit der Composio CLI aus. Stripe-Produkte aktualisieren, Supabase-Migrationen pushen, Vercel-Deployments ausliefern und mit Post-Deploy-Checks verifizieren – alles aus einem Skript.

Was ist deploy-pipeline?

Diese Fähigkeit orchestriert mehrstufige Releases über Stripe, Supabase und Vercel mithilfe der Composio CLI. Sie definiert eine bewährte Pipeline-Reihenfolge (Stripe → Supabase → Vercel → Verifikation → Benachrichtigung) und stellt sicher, dass Abrechnungsänderungen vor Datenbank-Migrationen und diese vor Frontend-Deployments erfolgen. Der Skill umfasst konkrete Befehle zum Erstellen von Preisen, Anwenden von Migrationen, Auslösen von Vercel-Produktionsdeployments sowie automatisierte Health-Checks und Slack-Benachrichtigungen. Er bietet auch ein wiederholbares Workflow-Skript (ship.ts) und einen Rollback-Plan für den Fehlerfall. Unterstützt werden die Plattformen Stripe, Supabase, Vercel und Slack – angesteuert über die Composio CLI.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-codex-skills/tree/main/deploy-pipeline

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Deploy Pipeline (Stripe / Supabase / Vercel)

Koordinieren Sie gestaffelte Releases über Stripe, Supabase und Vercel direkt von der Shell aus mit der Composio CLI. Ein einziges Skript startet die gesamte „Ship it“-Sequenz: Produkt-/Preisaktualisierungen, DB-Migrationen, Frontend-Deployment, Smoke-Tests und Changelog-Post.

Wann verwenden

  • Full-Stack-Produkteinführung, die Abrechnung, Datenbank und Frontend gleichzeitig betrifft.
  • Promotion eines Vorschau-Vercel-Builds in die Produktion mit einem Stripe-Preiswechsel und einer Supabase-Migration.
  • Wöchentliche Release-Züge, bei denen sich dieselbe Sequenz wiederholt und zuverlässig sein soll.

Voraussetzungen

curl -fsSL https://composio.dev/install | bash
composio login
composio link stripe
composio link supabase
composio link vercel
composio link slack        # für Release-Ankündigungen

Tools entdecken

composio search "create price" --toolkits stripe
composio search "apply migration" --toolkits supabase
composio search "create deployment" --toolkits vercel
composio tools list stripe
composio tools list supabase
composio tools list vercel

Häufige Slugs (mit --get-schema überprüfen):

Stripe

  • STRIPE_CREATE_PRODUCT
  • STRIPE_CREATE_PRICE
  • STRIPE_UPDATE_PRODUCT
  • STRIPE_LIST_PRICES

Supabase

  • SUPABASE_LIST_PROJECTS
  • SUPABASE_RUN_SQL_QUERY
  • SUPABASE_LIST_MIGRATIONS
  • SUPABASE_APPLY_MIGRATION

Vercel

  • VERCEL_CREATE_A_NEW_DEPLOYMENT
  • VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL
  • VERCEL_LIST_DEPLOYMENTS
  • VERCEL_PROMOTE_DEPLOYMENT

Die Pipeline

Die Reihenfolge ist wichtig: Stripe → Supabase → Vercel → Verifizieren → Ankündigen. Abrechnungsänderungen vor der DB, DB vor dem Frontend.

1. Stripe: Preis erstellen oder aktualisieren

composio execute STRIPE_CREATE_PRICE -d '{
  "product":"prod_abc123",
  "unit_amount":2900,
  "currency":"usd",
  "recurring":{"interval":"month"},
  "lookup_key":"team-plan-v2"
}'

2. Supabase: Migrationen anwenden

composio execute SUPABASE_APPLY_MIGRATION -d '{
  "project_id":"abcxyz",
  "name":"add_team_tier_column",
  "query":"alter table teams add column tier text default '\''free'\'';"
}'

Schema nach der Migration überprüfen:

composio execute SUPABASE_RUN_SQL_QUERY -d '{
  "project_id":"abcxyz",
  "query":"select column_name from information_schema.columns where table_name='\''teams'\'' and column_name='\''tier'\'';"
}'

3. Vercel: Deployment auslösen + promoten

# Produktions-Deployment von einem Git-Ref auslösen
composio execute VERCEL_CREATE_A_NEW_DEPLOYMENT -d '{
  "name":"web",
  "target":"production",
  "gitSource":{"type":"github","ref":"main","repoId":123456}
}'

Warten, bis es bereit ist:

composio execute VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL -d '{"idOrUrl":"dpl_xxx"}' \
  | jq '.readyState'

4. Verifizieren

curl -fsS https://app.acme.com/api/health
composio execute SUPABASE_RUN_SQL_QUERY -d '{
  "project_id":"abcxyz","query":"select count(*) from teams where tier is null;"
}'

5. Ankündigen

composio execute SLACK_SEND_MESSAGE -d '{
  "channel":"releases",
  "text":"✅ Team Plan v2 ausgeliefert. Stripe-Preis `team-plan-v2` live, Supabase-Migration angewendet, Vercel-Produktion promoted."
}'

Pipeline als Workflow-Datei

scripts/ship.ts, ausführen mit composio run --file scripts/ship.ts -- --ref main:

const ref = process.argv[process.argv.indexOf("--ref") + 1] ?? "main";

// 1. Stripe
const price = await execute("STRIPE_CREATE_PRICE", {
  product: "prod_abc123", unit_amount: 2900, currency: "usd",
  recurring: { interval: "month" }, lookup_key: "team-plan-v2"
});

// 2. Supabase
await execute("SUPABASE_APPLY_MIGRATION", {
  project_id: "abcxyz",
  name: "add_team_tier_column",
  query: "alter table teams add column tier text default 'free';"
});

// 3. Vercel
const dep = await execute("VERCEL_CREATE_A_NEW_DEPLOYMENT", {
  name: "web", target: "production",
  gitSource: { type: "github", ref, repoId: 123456 }
});

// 4. Auf Bereitschaft warten
let state = "QUEUED";
while (state !== "READY" && state !== "ERROR") {
  await new Promise(r => setTimeout(r, 4000));
  const d = await execute("VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL", { idOrUrl: dep.id });
  state = d.readyState;
}

if (state !== "READY") throw new Error("Vercel-Deployment fehlgeschlagen");

// 5. Ankündigen
await execute("SLACK_SEND_MESSAGE", {
  channel: "releases",
  text: `✅ ${ref} ausgeliefert. Stripe-Preis ${price.id}, Vercel ${dep.url}.`
});

Rollback-Plan

Falls die Verifikation fehlschlägt, in umgekehrter Reihenfolge rückgängig machen:

  1. Vercel: VERCEL_PROMOTE_DEPLOYMENT auf die vorherige Deployment-ID.
  2. Supabase: die Down-Migration anwenden (immer das zugehörige down.sql vor dem Ausliefern schreiben).
  3. Stripe: STRIPE_UPDATE_PRODUCT, um den neuen Preis zu verstecken (active:false); nicht löschen – Stripe-Objekte sind in der Praxis unveränderlich und beeinflussen historische Rechnungen.
  4. Slack: Rollback ankündigen.

Fehlerbehebung

  • Stripe-Preis sichtbar, aber Checkout zeigt noch alten → Cache auf Ihrer App-Seite; prüfen, ob der lookup_key dem entspricht, was der Checkout abruft.
  • Supabase-Migration hängt → Eine andere Verbindung hält eine Sperre; führen Sie select pid, state, query from pg_stat_activity where state <> 'idle'; aus.
  • Vercel-Deployment bleibt in QUEUED → Build-Logs über VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL mit ?logs=1 prüfen.
  • Reihenfolge-Fehler (Frontend liest eine Spalte, bevor die Migration angewendet wird) → Pipeline immer serialisieren; niemals --parallel über Stripe/Supabase/Vercel verwenden.

Vollständige CLI-Referenz: docs.composio.dev/docs/cli

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ComposioHQ/-21risk-automation

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/-2chat-automation

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agent-deep-links

Build, validate, and troubleshoot deep links for Codex, Cursor, VS Code, Visual Studio, and similar tools. Use when users ask for clickable links (especially in Slack) that open threads, files, folders, or app settings.

Verwandte Skills