Self-Hosted
Run on your Mac, Linux server, or Windows PC
Before diving into FlightStack, it helps to understand the key concepts that make up the platform.
┌─────────────────────────────────────────────────────────────┐│ FlightStack Cloud ││ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ ││ │ Web App │ │ API │ │ Pipeline Scheduler │ ││ └─────────────┘ └─────────────┘ └─────────────────────┘ │└─────────────────────────────────────────────────────────────┘ │ │ HTTPS ▼┌─────────────────────────────────────────────────────────────┐│ Your Infrastructure ││ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ ││ │ Build Agent │ │ Build Agent │ │ Build Agent │ ││ │ (Mac) │ │ (Linux) │ │ (Windows) │ ││ └─────────────┘ └─────────────┘ └─────────────────────┘ │└─────────────────────────────────────────────────────────────┘An Organization is the top-level container in FlightStack. It groups together:
Organizations can be:
Organization├── Repositories│ ├── my-flutter-app│ └── another-app├── Pipelines├── Build Agents│ ├── Mac-Mini-Office│ └── Linux-CI-Server└── Members ├── owner@company.com (Admin) └── dev@company.com (Member)A Repository represents a connected GitHub repository. When you connect a repository:
Key properties:
A Build Agent is a machine that executes your builds. Agents are self-hosted, meaning they run on your own hardware.
Self-Hosted
Run on your Mac, Linux server, or Windows PC
Always Available
No build minute limits or queuing
Secure
Your code stays on your infrastructure
Powerful
Use your fastest hardware for builds
Agent states:
Capabilities: Each agent reports what it can build:
A Pipeline is a visual workflow that defines how your app is built and deployed. Pipelines consist of:
┌──────────┐ │ On Push │ ← Trigger └────┬─────┘ │ ▼ ┌──────────┐ │Run Tests │ ← Job └────┬─────┘ │ ┌─────┴─────┐ │ │ ▼ ▼┌────────┐ ┌────────┐│Build │ │Build │ ← Parallel Jobs│iOS │ │Android │└───┬────┘ └───┬────┘ │ │ ▼ ▼┌────────┐ ┌────────┐│Deploy │ │Deploy │ ← Deployment Jobs│iOS │ │Android │└───┬────┘ └───┬────┘ │ │ └────┬─────┘ │ ▼ ┌──────────┐ │ Notify │ ← Notification Job └──────────┘Triggers determine when a pipeline runs. Available triggers:
| Trigger | Description | Use Case |
|---|---|---|
| Manual | Run on demand | Production deploys |
| On Push | Run when code is pushed | CI builds |
| On Tag | Run when a tag is created | Release builds |
| On PR | Run on pull requests | PR validation |
| Scheduled | Run on a cron schedule | Nightly builds |
Jobs are the individual tasks in a pipeline. Each job type has specific configuration options:
Build Jobs
Quality Jobs
Deploy Jobs
Utility Jobs
Connections define the execution order between jobs. A job only runs after all its upstream jobs complete successfully.
A Pipeline Run is a single execution of a pipeline. Each run:
Run states:
Artifacts are files produced by builds:
Artifacts are stored and can be:
Secrets are encrypted values for sensitive data:
Variables are key-value pairs for configuration:
Both can be scoped to:
Here’s how data flows through a typical build:
1. Developer pushes code to GitHub │ ▼2. GitHub sends webhook to FlightStack │ ▼3. FlightStack identifies matching pipelines │ ▼4. Pipeline run is created and queued │ ▼5. Available agent picks up the job │ ▼6. Agent clones repo and executes steps │ ▼7. Artifacts uploaded, status reported │ ▼8. Deployment jobs run (if configured) │ ▼9. Notifications sent, run marked completeFlightStack follows a security-first approach:
Now that you understand the core concepts: