📄 CI/CD Pipelines

v3.0 Updated: Dec 2024 ⏱️ 8 min read

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:

  1. Initialize your repository with cloudnexus.yaml at the root.
  2. Connect your GitHub/GitLab repository in the CloudNexus Console.
  3. 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.

  1. Navigate to Project Settings → Secrets in the console.
  2. Set scope: Repository, Branch, or Environment.
  3. 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.