Koder CI

Continuous Integration and Delivery platform. Pipeline-as-code, container-based runners, matrix builds, and native Koder Flow integration.

Get Started Documentation
14
Source Files
4
Runner Types
6
Templates
14
DB Tables

Features

Everything you need for modern CI/CD, in a single platform.

Pipeline-as-Code

Define your build pipelines in YAML or TOML right in your repository. Stages, steps, dependencies — all version-controlled.

DAG Execution

Steps run in parallel when independent. Dependencies form a directed acyclic graph, automatically resolving execution order.

Matrix Builds

Test across multiple OS, language versions, and architectures in a single pipeline. Up to 256 combinations per matrix.

📦

Container Runners

Docker-based isolation for every step. Pull policies, resource limits, and automatic cleanup. Plus bare-metal, SSH, and Kubernetes runners.

🔒

Secrets Management

AES-256-GCM encrypted secrets with repo, org, and global scopes. Automatic masking in logs. Key rotation support.

🗃

Caching & Artifacts

Key-based dependency caching with fallback keys. Artifact upload/download between steps. Local and S3 storage backends.

🔌

Koder Flow Integration

Native webhook integration with Koder Flow. Auto-registers hooks on repo activation. Push, PR, and tag triggers.

📅

Scheduled Builds

Cron-based scheduling with full expression support. Presets like @daily, @hourly, and custom intervals.

📝

Pipeline Templates

Reusable templates for Go, Node, Rust, Python, Docker, and Flutter. Extend and parameterize for your project.

Approval Gates

Manual approval steps with configurable approvers and timeouts. Block deployments until a human approves.

🔔

Notifications

Webhook, email, and Slack notifications on build events. Customizable templates and conditional delivery.

📈

Metrics & Dashboard

Prometheus metrics endpoint. Real-time admin dashboard with build stats, runner status, and queue monitoring.

Pipeline Configuration

Simple, powerful, and expressive.

.koder-ci.yml
name: my-app steps: test: image: golang:1.22 run: - go test -v -race ./... cache: key: go-mod-${CI_COMMIT_BRANCH} paths: [/go/pkg/mod] build: image: golang:1.22 depends_on: [test] run: - go build -o bin/app ./cmd/... artifacts: paths: [bin/] deploy: depends_on: [build] when: branch: main secrets: [DEPLOY_TOKEN] run: - ./deploy.sh

CLI

Control everything from the command line.

$ kci serve
Start the CI server with auto-configured database, runners, and webhooks.
$ kci exec
Execute the pipeline locally. Great for testing before pushing.
$ kci lint
Validate your pipeline configuration with 20+ lint rules.
$ kci builds list --repo koder/app
List recent builds with status, branch, and duration.
$ kci secrets set --repo koder/app
Manage encrypted secrets for repositories.
$ kci runners
View runner status, capacity, and platform details.