📄 CI/CD Pipelines
Overview
CloudNexus CI/CD Pipelines automate your build, test, and deployment workflows directly within our infrastructure. Designed for speed and reliability, pipelines scale automatically to handle concurrent runs across all 50+ global regions.
ℹ️
Pipelines v3 introduces parallel execution, matrix builds, and native container registry integration.
Key capabilities include:
- YAML-based pipeline configuration (
cloudnexus.yaml) - Pre-configured runtimes for Node.js, Python, Go, Rust, Java, and more
- Automatic artifact storage and versioning
- Native secrets management with KMS encryption
- Real-time logs and execution graphs
Quick Start
Create your first pipeline in under 5 minutes:
- Initialize your repository with
cloudnexus.yamlat the root. - Connect your GitHub/GitLab repository in the CloudNexus Console.
- Commit and push to trigger your first run.
cloudnexus.yaml
# CloudNexus CI/CD Configuration v3
version: 3
stages:
- build
- test
- deploy
jobs:
build-app:
stage: build
runtime: node:20
steps:
- run: npm ci
- run: npm run build
- artifact: ./dist
run-tests:
stage: test
runtime: node:20
needs: - build-app
steps:
- run: npm ci
- run: npm test -- --coverage
deploy-prod:
stage: deploy
runtime: alpine:3.19
needs: - run-tests
only: - main
steps:
- deploy: cloudnexus:compute
environment: production
Configuration Reference
Pipelines are defined in cloudnexus.yaml at your repository root. The schema follows a strict versioned format.
| Key | Type | Description | Required |
|---|---|---|---|
version |
String | Schema version. Use "3" for latest features. |
Yes |
stages |
Array | Execution order: build → test → deploy | Yes |
jobs |
Object | Named pipeline steps with runtime, steps, and conditions | Yes |
cache |
Object | Path and key configuration for dependency caching | No |
variables |
Object | Pipeline-level environment variables | No |
Triggers & Conditions
Control when pipelines execute using branch filters, tags, schedules, or manual approvals.
Conditional Execution
jobs:
deploy-staging:
only: - develop
- /^feature\/.*/
deploy-production:
only: - main
requires_approval: true
notification: slack:#deployments
💡
Use
except to skip specific branches: except: [docs, ci]
Secrets & Variables
Securely inject credentials using CloudNexus Vault. Secrets are encrypted at rest using AES-256 and never exposed in logs.
- Navigate to Project Settings → Secrets in the console.
- Set scope:
Repository,Branch, orEnvironment. - Reference in YAML:
$CI_REGISTRY_PASSWORD
⚠️
Never commit plaintext secrets. Pipeline runs will fail if sensitive values are detected in configuration.
Troubleshooting
| Error | Cause | Solution |
|---|---|---|
E_RUNTIME_NOT_FOUND |
Invalid runtime tag | Use supported tags: node:20, python:3.12, golang:1.22 |
E_CACHE_EXPIRED |
Cache key mismatch or TTL expired | Update cache key logic or set cache.ttl: 7d |
E_SECRET_INJECTED |
Secret leaked in output | Pipeline auto-terminated. Rotate the secret immediately. |
Still stuck? Check the Live Logs Dashboard or open a support ticket.