name: fly-deployment description: Deep knowledge about deploying applications to Fly.io (MicroVMs, Docker). type: transform tier: library domain: deploy trigger: "when deploying to Fly.io"
Context
Deploying {{project_name}} ({{project_type}}) to Fly.io. You will follow a strict 6-phase Deployment Lifecycle Contract.
Instructions
Execute the following phases in order:
Phase 1: Authentication
- Ensure the
FLY_API_TOKENenvironment variable is set to a valid token. - If running locally, authenticate interactively with
fly auth login. For automated agents, ensure the token is provided. - Validate by running
fly auth whoami.
Phase 2: Build
- Prepare the artifacts for deployment.
- Fly.io uses a
fly.tomlconfiguration file and aDockerfile(or buildpacks) to build your application on their builders. - Ensure the
Dockerfilebuilds successfully locally (docker build .) to catch any errors early. - If your project requires generating static assets before pushing, run your framework's build command (e.g.,
npm run build).
Phase 3: Install / Provisioning
- Ensure the target Fly.io application exists. If not, initialize it using
fly launch --no-deploy. - Check the
fly.tomlfile to ensure the application name, regions, and environment variables are correctly configured. - Ensure required secrets are set using
fly secrets set KEY=value. - If your application requires a database (Postgres, Redis), ensure it's provisioned via
fly postgres createorfly redis createand attached to the app.
Phase 4: Deploy
- Ship the artifact to Fly.io.
- Run
fly deployto build and deploy your application. You can append--remote-onlyto force the build on Fly's remote builders. - Use
--detachif you do not want to wait for health checks to pass in the foreground (not recommended for automated agents unless monitoring separately).
Phase 5: Checking
- Verify the deployment was successful.
- Run
fly statusto check the application's instances and their health status. - Retrieve the public URL using
fly infoand usecurl -sSf <URL>to ensure the application returns a 200 OK status code. - Check logs via
fly logsif the deployment fails or instances are crashing.
Phase 6: Update / Rollback
- If Phase 5 fails, immediately initiate a rollback.
- Fly.io supports rolling back to previous deployments. Identify the previous image or release version and run
fly deploy -i <previous-image-ref>. - Note the failure in the progress log.
Validation
- [ ] Fly.io authentication (
fly auth whoami) succeeds. - [ ] Build succeeds (locally or remote).
- [ ] Application instances are running (
fly status). - [ ] Health check (curl) returns 200 OK.
Skills similaires
Architecte Docker Compose
DevOps
Concoit des configurations Docker Compose optimisees.
Claude CodeCopilotadvanced
430
156
1,688
Rapport de Post-Mortem
DevOps
Rédige des rapports post-mortem d'incidents structurés et blameless.
claudeCursorWindsurfintermediate
141
43
601
Créateur de Runbooks
DevOps
Crée des runbooks opérationnels clairs pour les procédures DevOps courantes.
claudeCursorWindsurfintermediate
108
32
533