Pular para o conteúdo principal

CI/CD Overview

Ever Gauzy uses multiple CI/CD pipelines for building, testing, and deploying across all platforms.

CI/CD Platforms

PlatformPurpose
GitHub ActionsDesktop apps, releases, Docker images
CircleCIAPI and webapp builds, testing

Pipeline Architecture

Code Push / PR

├── GitHub Actions
│ ├── Build Desktop Apps (Win, Mac, Linux)
│ ├── Build Docker Images
│ ├── Publish to GitHub Releases
│ └── Push to Container Registry

└── CircleCI
├── Lint & Type Check
├── Build API & Webapp
├── Run Tests
└── Deploy to Staging/Production

Build Targets

TargetCI PlatformOutput
API (NestJS)CircleCIDocker image
Webapp (Angular)CircleCIDocker image / static
Desktop TimerGitHub Actions.exe, .dmg, .AppImage
Desktop ServerGitHub Actions.exe, .dmg, .AppImage
Browser ExtensionGitHub Actions.zip

NX Integration

All builds use NX for task orchestration:

# Build only affected projects
npx nx affected --target=build

# Build specific project
npx nx build api

# Build with remote caching
npx nx build api --skip-nx-cache=false

NX Cloud

Remote caching accelerates CI builds:

# Enable NX Cloud
NX_NO_CLOUD=false
NX_CLOUD_ACCESS_TOKEN=your-token