Deploy Gamma-integrated applications to production environments. Use when deploying to Vercel, AWS, GCP, or other cloud platforms with proper secret management and configuration. Trigger with phrases like "gamma deploy", "gamma production", "gamma vercel", "gamma AWS", "gamma cloud deployment".
Deploy a fictional staging presentation integration with a scoped credential, verify its canary reaches only the approved audience, then simulate a failed check and roll back before production sharing.
Deploy Gamma-integrated applications to various cloud platforms with proper configuration and secret management.
set -euo pipefail
# Install Vercel CLI
npm i -g vercel
# Link project
vercel link
# Set environment variable
vercel env add GAMMA_API_KEY production
{
"framework": "nextjs",
"buildCommand": "npm run build",
"env": {
"GAMMA_API_KEY": "@gamma_api_key"
},
"functions": {
"api/**/*.ts": {
"maxDuration": 30
}
}
}
# Preview deployment
vercel
# Production deployment
vercel --prod
aws secretsmanager create-secret \
--name gamma/api-key \
--secret-string '{"apiKey":"your-gamma-api-key"}'
// lambda/gamma-handler.ts
import { SecretsManager } from '@aws-sdk/client-secrets-manager';
import { GammaClient } from '@gamma/sdk';
const secretsManager = new SecretsManager({ region: 'us-east-1' });
let gamma: GammaClient;
async function getGammaClient() {
if (!gamma) {
const secret = await secretsManager.getSecretValue({
SecretId: 'gamma/api-key',
});
const { apiKey } = JSON.parse(secret.SecretString!);
gamma = new GammaClient({ apiKey });
}
return gamma;
}
export async function handler(event: any) {
const client = await getGammaClient();
const result = await client.presentations.create({
title: event.title,
prompt: event.prompt,
});
return { statusCode: 200, body: JSON.stringify(result) }; # HTTP 200 OK
}
# template.yaml
AWSTemplateFormatVersion: '2010-09-09' # 2010 = configured value
Transform: AWS::Serverless-2016-10-31 # 2016 = configured value
Resources:
GammaFunction:
Type: AWS::Serverless::Function
Properties:
Handler: dist/gamma-handler.handler
Runtime: nodejs20.x
Timeout: 30
MemorySize: 256 # 256 bytes
Policies:
- SecretsManagerReadWrite
Environment:
Variables:
NODE_ENV: production
echo -n "your-gamma-api-key" | \
gcloud secrets create gamma-api-key --data-file=-
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY dist ./dist
CMD ["node", "dist/server.js"]
set -euo pipefail
gcloud run deploy gamma-service \
--image gcr.io/$PROJECT_ID/gamma-service \
--platform managed \
--region us-central1 \
--set-secrets GAMMA_API_KEY=gamma-api-key:latest \
--allow-unauthenticated
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: npm ci && npm run build
- name: Deploy to Vercel
uses: amondnet/vercel-action@v25
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
vercel-args: '--prod'
| Error | Cause | Solution | |-------|-------|----------| | Secret not found | Missing secret | Create secret in platform | | Timeout | Function too slow | Increase timeout limit | | Cold start | Lambda initialization | Use provisioned concurrency | | Permission denied | IAM misconfigured | Update IAM policies |
Proceed to gamma-webhooks-events for event handling.
下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer