Component Registry Guide
The BFCI Components Registry is a centralized repository for all our CI / CD components. This guide explains how to work with the registry effectively.
Registry Structureโ
The component registry is hosted at registry.gitlab.bluefly.io / Blueflyio / internal - projects / llm / bfcicomponents
and follows this structure:
registry.gitlab.bluefly.io / Blueflyio / internal - projects / llm / bfcicomponents / <component - name > @ < version>
```text
## Using Components from the Registry
1. Configure the registry in your `.gitlab - ci.yml`:
```yaml
variables:
COMPONENT_REGISTRY: registry.gitlab.bluefly.io / Blueflyio / internal - projects / llm / bfcicomponents
```text
2. Include components in your pipeline:
```yaml
include:
- component: [COMPONENT_REGISTRY] / [email protected]
inputs:
test_command: 'npm test'
```text
## Version Management
- Use semantic versioning (MAJOR.MINOR.PATCH)
- Pin versions for stability
- Use version tags for production deployments
- Use `latest`tag only for development
## Authentication
The registry requires authentication through GitLab:
1. CI / CD pipelines use`CI_JOB_TOKEN`automatically
2. Local development requires personal access tokens
3. Configure`.npmrc` for npm package access
## Publishing Components
Only authorized team members can publish components:
1. Ensure you have proper permissions
2. Follow the versioning guidelines
3. Use the CI / CD pipeline for publishing
4. Update documentation
## Best Practices
1. Always specify component versions
2. Test components before production use
3. Keep dependencies up to date
4. Document breaking changes
5. Follow security guidelines
## Troubleshooting
Common issues and solutions:
1. Authentication failures
- Check token permissions
- Verify registry URL
- Ensure proper configuration
2. Version conflicts
- Review dependency tree
- Update component versions
- Check compatibility matrix
3. Registry access
- Verify network connectivity
- Check firewall rules
- Validate credentials
## Support
For registry - related issues:
1. Check the [documentation]( / guide / )
2. Contact the DevOps team
3. Submit an issue in GitLab