Overview
Esprit supports non-interactive mode for seamless integration with CI/CD pipelines. Run automated security scans on every commit, pull request, or deployment.Exit Codes
Esprit uses standard exit codes for CI/CD integration:0- Scan completed successfully with no vulnerabilities found2- Vulnerabilities detected- Non-zero - Error during scan execution
Basic CI/CD Usage
--non-interactive flag disables the TUI and outputs machine-readable results suitable for CI/CD environments.
GitHub Actions
Basic Workflow
Create.github/workflows/security-scan.yml:
Docker-Based Workflow
For local runtime with your own LLM provider:Repository Code Scanning
GitLab CI/CD
Create.gitlab-ci.yml:
Jenkins Pipeline
CircleCI
Create.circleci/config.yml:
Azure Pipelines
Createazure-pipelines.yml:
Docker Container Integration
Standalone Container Scan
Multi-Stage Build with Scan
Environment Variables for CI/CD
Esprit Cloud
Local Runtime with Providers
Runtime Configuration
Advanced Patterns
Conditional Scanning
Parallel Scanning
Scheduled Scans
Report Processing
Parse JSON Report
Upload to Security Dashboard
Troubleshooting
Docker Socket Access
If using local runtime in CI/CD, ensure Docker socket access:Rate Limiting
For high-frequency CI/CD runs, use Esprit Cloud or configure rate limits:Caching
Cache Esprit installation for faster builds:Best Practices
- Use Non-Interactive Mode - Always include
--non-interactivefor CI/CD - Set Appropriate Timeouts - Configure
ESPRIT_SANDBOX_TIMEOUTbased on your environment - Secure Secrets - Store API keys and tokens in CI/CD secrets, never commit them
- Archive Reports - Always upload reports as artifacts for later review
- Fail Fast - Configure builds to fail on critical vulnerabilities
- Scan Strategy - Use quick mode for PRs, deep mode for releases
- Resource Limits - Set appropriate Docker memory/CPU limits in CI environments