Deploy applications with zero-downtime using modern deployment patterns
# Deployment Strategies Guide for Google Antigravity
Implement robust deployment strategies for production applications with Google Antigravity IDE.
## Docker Multi-Stage Build
```dockerfile
# Dockerfile
FROM node:20-alpine AS base
RUN apk add --no-cache libc6-compat
WORKDIR /app
# Dependencies stage
FROM base AS deps
COPY package.json pnpm-lock.yaml ./
RUN corepack enable pnpm && pnpm install --frozen-lockfile
# Build stage
FROM base AS builder
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Set build-time environment variables
ARG DATABASE_URL
ARG NEXT_PUBLIC_API_URL
ENV DATABASE_URL=$DATABASE_URL
ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
RUN corepack enable pnpm && pnpm run build
# Production stage
FROM base AS runner
ENV NODE_ENV=production
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
USER nextjs
EXPOSE 3000
ENV PORT=3000
ENV HOSTNAME="0.0.0.0"
CMD ["node", "server.js"]
```
## Health Check Endpoint
```typescript
// app/api/health/route.ts
import { NextResponse } from "next/server";
import { db } from "@/lib/db";
import { redis } from "@/lib/redis";
export async function GET() {
const checks = {
status: "healthy",
timestamp: new Date().toISOString(),
version: process.env.APP_VERSION || "unknown",
checks: {} as Record<string, { status: string; latency?: number }>
};
// Database check
const dbStart = Date.now();
try {
await db.execute("SELECT 1");
checks.checks.database = { status: "healthy", latency: Date.now() - dbStart };
} catch (error) {
checks.checks.database = { status: "unhealthy" };
checks.status = "unhealthy";
}
// Redis check
const redisStart = Date.now();
try {
await redis.ping();
checks.checks.redis = { status: "healthy", latency: Date.now() - redisStart };
} catch (error) {
checks.checks.redis = { status: "unhealthy" };
checks.status = "unhealthy";
}
const statusCode = checks.status === "healthy" ? 200 : 503;
return NextResponse.json(checks, { status: statusCode });
}
```
## Best Practices
1. **Use multi-stage Docker builds** for smaller images
2. **Implement health checks** for container orchestration
3. **Use environment-based configuration**
4. **Implement blue-green or canary deployments**
5. **Automate rollbacks** on failure
6. **Monitor deployment metrics** in real-time
7. **Use secrets management** for credentials
Google Antigravity helps configure CI/CD pipelines and provides deployment optimization suggestions.This deployment prompt is ideal for developers working on:
By using this prompt, you can save hours of manual coding and ensure best practices are followed from the start. It's particularly valuable for teams looking to maintain consistency across their deployment implementations.
Yes! All prompts on Antigravity AI Directory are free to use for both personal and commercial projects. No attribution required, though it's always appreciated.
This prompt works excellently with Claude, ChatGPT, Cursor, GitHub Copilot, and other modern AI coding assistants. For best results, use models with large context windows.
You can modify the prompt by adding specific requirements, constraints, or preferences. For deployment projects, consider mentioning your framework version, coding style, and any specific libraries you're using.