GitLab CI Integration
This guide shows how to integrate x-fidelity into your GitLab CI/CD pipelines.
Basic Pipeline Configuration
Create .gitlab-ci.yml
in your repository:
image: node:18
stages:
- test
x-fidelity:
stage: test
before_script:
- yarn global add x-fidelity
- export PATH="$PATH:$(yarn global bin)"
script:
- xfidelity . --configServer https://config-server.example.com
variables:
OPENAI_API_KEY: $OPENAI_API_KEY
XFI_SHARED_SECRET: $XFI_SHARED_SECRET
Advanced Configuration
With OpenAI Integration
x-fidelity:
script:
- xfidelity . -o true
variables:
OPENAI_API_KEY: $OPENAI_API_KEY
OPENAI_MODEL: 'gpt-4'
With Local Config
x-fidelity:
script:
- xfidelity . --localConfigPath ./config
With Custom Archetype
x-fidelity:
script:
- xfidelity . --archetype java-microservice
GitLab CI Specific Features
Caching Dependencies
x-fidelity:
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
- .yarn
Matrix Testing
x-fidelity:
parallel:
matrix:
- ARCHETYPE: [node-fullstack, java-microservice]
script:
- xfidelity . --archetype $ARCHETYPE
Pipeline Artifacts
x-fidelity:
artifacts:
reports:
junit: results.xml
paths:
- results.json
expire_in: 1 week
Environment Variables
Set these in your GitLab CI/CD variables:
OPENAI_API_KEY
: For OpenAI integrationXFI_SHARED_SECRET
: For config server authenticationCONFIG_SERVER_URL
: Your config server URL
Best Practices
- Secrets Management: Use GitLab CI/CD variables for sensitive data
- Caching: Implement proper caching strategy
- Versioning: Pin dependency versions
- Error Handling: Add proper error handling
- Notifications: Configure notifications for failures
Example Projects
Check out these example repositories:
Troubleshooting
Common issues and solutions:
-
Authentication Failures:
- Check variable configuration
- Verify environment variables
-
Timeout Issues:
- Increase job timeout
- Optimize analysis scope
-
Cache Problems:
- Clear cache
- Update cache key