返回 Skill 列表
extension
分类: 开发与工程无需 API Key

clay-deploy-integration

将Clay集成部署到Vercel、Fly.io和Cloud Run平台。在将由Clay支持的应用程序部署到生产环境、配置特定于平台的密钥或设置部署流水线时使用。可以通过诸如“deploy clay”、“clay Vercel”、“clay production deploy”、“clay Cloud Run”、“clay Fly.io”等短语触发。

person作者: jakexiaohubgithub

Clay Deploy Integration

Overview

Deploy Clay-powered applications to popular platforms with proper secrets management.

Prerequisites

  • Clay API keys for production environment
  • Platform CLI installed (vercel, fly, or gcloud)
  • Application code ready for deployment
  • Environment variables documented

Vercel Deployment

Environment Setup

# Add Clay secrets to Vercel
vercel secrets add clay_api_key sk_live_***
vercel secrets add clay_webhook_secret whsec_***

# Link to project
vercel link

# Deploy preview
vercel

# Deploy production
vercel --prod

vercel.json Configuration

{
  "env": {
    "CLAY_API_KEY": "@clay_api_key"
  },
  "functions": {
    "api/**/*.ts": {
      "maxDuration": 30
    }
  }
}

Fly.io Deployment

fly.toml

app = "my-clay-app"
primary_region = "iad"

[env]
  NODE_ENV = "production"

[http_service]
  internal_port = 3000
  force_https = true
  auto_stop_machines = true
  auto_start_machines = true

Secrets

# Set Clay secrets
fly secrets set CLAY_API_KEY=sk_live_***
fly secrets set CLAY_WEBHOOK_SECRET=whsec_***

# Deploy
fly deploy

Google Cloud Run

Dockerfile

FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
CMD ["npm", "start"]

Deploy Script

#!/bin/bash
# deploy-cloud-run.sh

PROJECT_ID="${GOOGLE_CLOUD_PROJECT}"
SERVICE_NAME="clay-service"
REGION="us-central1"

# Build and push image
gcloud builds submit --tag gcr.io/$PROJECT_ID/$SERVICE_NAME

# Deploy to Cloud Run
gcloud run deploy $SERVICE_NAME \
  --image gcr.io/$PROJECT_ID/$SERVICE_NAME \
  --region $REGION \
  --platform managed \
  --allow-unauthenticated \
  --set-secrets=CLAY_API_KEY=clay-api-key:latest

Environment Configuration Pattern

// config/clay.ts
interface ClayConfig {
  apiKey: string;
  environment: 'development' | 'staging' | 'production';
  webhookSecret?: string;
}

export function getClayConfig(): ClayConfig {
  const env = process.env.NODE_ENV || 'development';

  return {
    apiKey: process.env.CLAY_API_KEY!,
    environment: env as ClayConfig['environment'],
    webhookSecret: process.env.CLAY_WEBHOOK_SECRET,
  };
}

Health Check Endpoint

// api/health.ts
export async function GET() {
  const clayStatus = await checkClayConnection();

  return Response.json({
    status: clayStatus ? 'healthy' : 'degraded',
    services: {
      clay: clayStatus,
    },
    timestamp: new Date().toISOString(),
  });
}

Instructions

Step 1: Choose Deployment Platform

Select the platform that best fits your infrastructure needs and follow the platform-specific guide below.

Step 2: Configure Secrets

Store Clay API keys securely using the platform's secrets management.

Step 3: Deploy Application

Use the platform CLI to deploy your application with Clay integration.

Step 4: Verify Health

Test the health check endpoint to confirm Clay connectivity.

Output

  • Application deployed to production
  • Clay secrets securely configured
  • Health check endpoint functional
  • Environment-specific configuration in place

Error Handling

| Issue | Cause | Solution | |-------|-------|----------| | Secret not found | Missing configuration | Add secret via platform CLI | | Deploy timeout | Large build | Increase build timeout | | Health check fails | Wrong API key | Verify environment variable | | Cold start issues | No warm-up | Configure minimum instances |

Examples

Quick Deploy Script

#!/bin/bash
# Platform-agnostic deploy helper
case "$1" in
  vercel)
    vercel secrets add clay_api_key "$CLAY_API_KEY"
    vercel --prod
    ;;
  fly)
    fly secrets set CLAY_API_KEY="$CLAY_API_KEY"
    fly deploy
    ;;
esac

Resources

Next Steps

For webhook handling, see clay-webhooks-events.