eve-deploy-debugging
97
总安装量
16
周安装量
#4403
全站排名
安装命令
npx skills add https://github.com/incept5/eve-skillpacks --skill eve-deploy-debugging
Agent 安装分布
codex
16
gemini-cli
16
claude-code
16
mcpjam
2
openhands
2
zencoder
2
Skill 文档
Eve Deploy and Debug
Use these steps to deploy and diagnose app issues quickly.
Environment Setup
- Get the staging API URL from your admin.
- Create and use a profile:
eve profile create staging --api-url https://api.eh1.incept5.dev
eve profile use staging
Deploy Flow (Staging)
# Create env if needed
eve env create staging --project proj_xxx --type persistent
# Deploy (requires --ref with 40-char SHA or a ref resolved against --repo-dir)
eve env deploy staging --ref main --repo-dir .
# When environment has a pipeline configured, the above triggers the pipeline.
# Use --direct to bypass pipeline and deploy directly:
eve env deploy staging --ref main --repo-dir . --direct
# Pass inputs to pipeline:
eve env deploy staging --ref main --repo-dir . --inputs '{"key":"value"}'
Deploy Polling Flow
When eve env deploy is called:
- Direct deploy (no pipeline): Returns
deployment_statusdirectly. Poll health endpoint untilready === true. - Pipeline deploy: Returns
pipeline_run_id. PollGET /pipelines/{name}/runs/{id}until all steps complete, then check health.
Deploy is complete when: ready === true AND active_pipeline_run === null.
Observe the Deploy
eve job list --phase active
eve job follow <job-id> # Real-time SSE streaming
eve job watch <job-id> # Poll-based status updates
eve job diagnose <job-id> # Full diagnostic
eve job result <job-id> # Final result
eve job runner-logs <job-id> # Raw worker logs
Real-Time Debugging (3-Terminal Approach)
# Terminal 1: Pipeline/job progress
eve job follow <job-id>
# Terminal 2: Environment health
eve env diagnose <project> <env>
# Terminal 3: System-level logs
eve system logs
Debugging Workflows
Job Won’t Start
- Check dependencies:
eve job dep list <job-id> - Check if blocked:
eve job show <job-id>â look atblocked_by - Verify environment readiness:
eve env show <project> <env> - Check orchestrator:
eve system orchestrator status
Job Failed
- Get the error:
eve job diagnose <job-id> - Check logs:
eve job follow <job-id>oreve job runner-logs <job-id> - If build failure:
eve build diagnose <build-id> - If secret failure:
eve secrets list --project <project_id>
Job Stuck Active
- Check if waiting for input:
eve job show <job-id>âeffective_phase - Check thread messages:
eve thread messages <thread-id> - Check runner pod:
eve system pods
System Issues
- API health:
eve system health - Orchestrator:
eve system orchestrator status - Recent events:
eve system events
Common Error Messages
| Error | Cause | Fix |
|---|---|---|
401 Unauthorized |
Token expired | eve auth login |
git clone failed |
Missing credentials | Set github_token or ssh_key secret |
service not provisioned |
Environment not created | eve env create <env> |
image pull backoff |
Registry auth failed | Verify GHCR_USERNAME + GHCR_TOKEN secrets |
healthcheck timeout |
App not starting | Check app logs, verify ports in manifest |
Build Failures
If a deploy pipeline fails at the build step:
eve build list --project <project_id>
eve build diagnose <build_id>
eve build logs <build_id>
eve secrets list --project <project_id> # Required: GHCR_USERNAME, GHCR_TOKEN
Common build failures:
- Registry auth: Missing GHCR_USERNAME or GHCR_TOKEN secrets
- Dockerfile not found: Check
build.contextpath in manifest - Multi-stage build failure: BuildKit handles these correctly; Kaniko may have issues
- Workspace errors: Build context not available â check
eve build diagnose
Worker Image Registry
Eve publishes worker images to GHCR with these variants:
| Variant | Contents |
|---|---|
base |
Node.js, git, standard CLI tools |
python |
Base + Python runtime |
rust |
Base + Rust toolchain |
java |
Base + JDK |
kotlin |
Base + Kotlin compiler |
full |
All runtimes combined |
Version pinning: Use semver tags (e.g., v1.2.3) in production. Use SHA tags or :latest in development.
Platform Environment Variables
Eve injects these into every deployed service container:
EVE_API_URLâ internal cluster URL for server-to-server callsEVE_PUBLIC_API_URLâ public ingress URL for browser-facing appsEVE_PROJECT_ID,EVE_ORG_ID,EVE_ENV_NAME
Use EVE_API_URL for backend calls. Use EVE_PUBLIC_API_URL for browser clients.
Access URLs
- URL pattern:
{service}.{orgSlug}-{projectSlug}-{env}.{domain} - Local dev default domain:
lvh.me - Ask the admin for the correct domain (staging vs production).
Environment-Specific Debugging
| Environment | How to Debug |
|---|---|
| Local (k3d) | Direct service access via ingress, eve system logs |
| Docker Compose | docker compose logs <service>, dev-only (no production use) |
| Kubernetes | Ingress-based access, kubectl -n eve logs as last resort |
Workspace Janitor
Production disk management for agent workspaces:
EVE_WORKSPACE_MAX_GBâ total workspace budgetEVE_WORKSPACE_MIN_FREE_GBâ trigger cleanup thresholdEVE_SESSION_TTL_HOURSâ auto-evict stale sessions- LRU eviction when approaching budget; TTL cleanup for idle sessions
- K8s: per-attempt PVCs deleted on completion
Related Skills
- Local dev loop:
eve-local-dev-loop - Secrets:
eve-auth-and-secrets - Manifest changes:
eve-manifest-authoring