Diagnose CI/CD pipeline failures, analyze Jenkins build logs, and troubleshoot deployment issues. Use when builds fail, checking pipeline status, investigating errors, or understanding deployment health.
This skill helps diagnose CI/CD pipeline issues for the Elohim project using the Jenkins MCP integration.
┌──────────────────────────────────────────────────────────────────┐
│ Elohim CI/CD Orchestration │
├──────────────────────────────────────────────────────────────────┤
│ │
│ GitHub Push │
│ ↓ │
│ Orchestrator ←── Analyzes changesets, triggers dependencies │
│ ↓ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Parallel Builds (if dependencies met): │ │
│ │ │ │
│ │ elohim-holochain → DNA builds, hApp packaging │ │
│ │ elohim-edge → Doorway, storage containers │ │
│ │ elohim-app → Angular build │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ ↓ │
│ elohim-genesis ←── Seed validation & deployment │
│ ↓ │
│ Health Checks ←── Post-deployment verification │
│ │
└──────────────────────────────────────────────────────────────────┘
| Job Name | Purpose | Triggers |
|---|---|---|
elohim-orchestrator | Changeset analysis, pipeline coordination | GitHub webhook |
elohim-holochain | Rust DNA compilation, hApp packaging | Orchestrator |
elohim-edge | Docker containers for doorway, storage | Orchestrator |
elohim-app | Angular build, static assets | Orchestrator |
elohim-genesis | Content seeding, verification | After app/edge |
elohim-steward | Tauri desktop app (manual) | Manual only |
Use mcp__jenkins__getStatus to check Jenkins health
Use mcp__jenkins__getJob with jobFullName="elohim-holochain"
Use mcp__jenkins__getJob with jobFullName="elohim-app"
Use mcp__jenkins__getJob with jobFullName="elohim-genesis"
Use mcp__jenkins__getBuild with jobFullName="elohim-holochain"
(omit buildNumber for latest)
Use mcp__jenkins__getBuild with jobFullName="elohim-holochain" buildNumber=123
(specific build)
Use mcp__jenkins__getBuildLog with jobFullName="elohim-holochain"
limit=-100 (last 100 lines)
Use mcp__jenkins__searchBuildLog with:
jobFullName="elohim-holochain"
pattern="error|failed|Error"
ignoreCase=true
contextLines=3
Use mcp__jenkins__getTestResults with jobFullName="elohim-app"
onlyFailingTests=true
Pattern: WASM compilation error
Search logs for: "error\[E" or "cannot find" or "unresolved"
Common causes:
Fix checklist:
RUSTFLAGS='--cfg getrandom_backend="custom"' is setCargo.lock is committedPattern: TypeScript errors
Search logs for: "error TS" or "Cannot find module"
Common causes:
Fix checklist:
npm run build locallyPattern: Connection timeout
Search logs for: "ETIMEDOUT" or "WebSocket" or "connection refused"
Common causes:
Fix checklist:
Pattern: Schema validation
Search logs for: "missing required" or "validation failed"
Fix:
npm run validate in genesis/seederPattern: Image build error
Search logs for: "COPY failed" or "RUN failed" or "denied"
Common causes:
| Branch Pattern | Environment | Doorway URL |
|---|---|---|
dev, feat-*, claude-* | Alpha | doorway-alpha.elohim.host |
staging-* | Staging | doorway-staging.elohim.host |
main | Production | doorway.elohim.host |
Use mcp__jenkins__getJobs to list recent jobs
Use mcp__jenkins__getBuild to get failure details
Use mcp__jenkins__searchBuildLog with pattern matching:
- "error" (case insensitive)
- "failed"
- "Exception"
- "panic"
Look at the stage name to determine which pipeline component failed:
Use mcp__jenkins__getBuildChangeSets to see what changed
Use mcp__jenkins__getBuildScm for commit info
Use mcp__jenkins__triggerBuild with jobFullName="elohim-holochain"
Use mcp__jenkins__triggerBuild with:
jobFullName="elohim-genesis"
parameters={"SKIP_SEEDING": "false", "ENVIRONMENT": "dev"}
| File | Purpose |
|---|---|
/projects/elohim/Jenkinsfile | Root orchestrator |
/projects/elohim/genesis/orchestrator/Jenkinsfile | Pipeline controller |
/projects/elohim/holochain/Jenkinsfile | DNA/hApp builds |
/projects/elohim/genesis/Jenkinsfile | Seeding pipeline |
/projects/elohim/steward/Jenkinsfile | Desktop app |
elohim-holochain
↓ elohim.happ
elohim-edge
↓ doorway:tag, storage:tag
elohim-app
↓ dist/elohim-app
elohim-genesis
↓ seed verification
Each pipeline fetches artifacts from upstream jobs. Check artifact availability if builds fail at fetch stages.
1. mcp__jenkins__getStatus (overall Jenkins)
2. mcp__jenkins__getJobs (list jobs)
3. For each job: mcp__jenkins__getBuild (latest status)
1. mcp__jenkins__getBuild with jobFullName + buildNumber
2. mcp__jenkins__getBuildLog with limit=-200 (tail)
3. mcp__jenkins__searchBuildLog with error patterns
4. mcp__jenkins__getTestResults if tests failed
After genesis completes, verify via:
- stats:dev / stats:prod commands
- Doorway health endpoints
- Application smoke tests