Inertia · Self-hosted CI/CD

Build, release ve deploy — kendi sunucularınızda.

Inertia kodunuzu kendi makinelerinizde build eder, başarılı build'leri değiştirilemez release'lere dönüştürür ve bunları test, staging ve production environment'larına approval, freeze ve otomatik rollback kurallarıyla taşır. Kodunuz ve secret'larınız altyapınızdan hiç çıkmaz.

  • Build
  • Release
  • Deployment
  • Approval ve rollback
  • Agent fleet
Inertia · Dashboard

NEDEN SELF-HOSTED

Delivery pipeline'ınız sizin elinizde

Commit'ten production'a uzanan yolun tamamı için tek bir control plane; yazılımınızın çalıştığı yerde.

Dakika başı CI faturası yok

Build'ler zaten sahip olduğunuz makinelerde çalışır. Uzun bir test suite'i size dakika başına ek maliyet çıkarmaz.

Kod ve secret'lar sizde kalır

Repository'ler kendi agent'larınızda checkout edilir; secret'lar kendi veritabanınızda şifrelenir ve tüm log'larda maskelenir.

Production'a kontrollü geçiş

Release'ler sıralı environment'lardan approval, freeze, health check ve otomatik rollback kurallarıyla geçer.

Her şey tek yerde

Build'ler, release'ler, deployment'lar, agent'lar, insights ve audit log tek arayüzde.

Nasıl bir araya geliyor

Control plane, agent'lar ve sizin sunucularınız

Ne olacağına control plane karar verir. İşi makinelerinizdeki agent'lar yapar ve sonucu bildirir. Deploy ettiğiniz makinelere dışarıdan hiçbir bağlantı gerekmez.

Control plane

Web arayüzü, REST API, orkestrasyon ve canlı log'lar. State PostgreSQL'de, log'lar ve artifact'ler S3 uyumlu object storage'da.

Agent'lar

Makinelerinizde çalışan küçük servisler. Tek kullanımlık bir token'la bir kez enroll edilir, mTLS ile dışarıya bağlanırlar.

Sizin sunucularınız

Docker'lı build makineleri ve deploy ettiğiniz sunucular: container'lar, systemd servisleri, static site'lar ve daha fazlası.

Agent'lar control plane'deki tek bir agent portuna kendileri bağlanır; hedef makinelerde dışarıya açık port gerekmez.

Ürün turu

Ekranlardan görün

Inertia'nın gerçek ekranları; hayali projeler ve kişilerle.

Nerede ne çalışıyor: her projenin her environment'taki release'i, sağlıklı olup olmadığı ve ilgilenmeniz gereken her şey.

Inertia · Dashboard

Koddan canlıya

Bir değişiklik production'a nasıl ulaşır

Her proje için aynı, kayıt altındaki yol.

  1. Build

    Build makinenizde container içinde, canlı log'la

  2. Release

    Artifact, variable ve süreç dondurulur

  3. Test

    İsterseniz otomatik deploy edilir

  4. Staging

    Hedef makineler önceden gösterilerek taşınır

  5. Approval

    Talep edenden başka biri karar verir

  6. Production

    Step step deploy edilir, health check'ten geçer

  7. Rollback

    Hata olursa otomatik ya da tek tıkla

BUILD

Build'ler kendi makinelerinizde, container içinde

Build agent'ı her step'i sizin belirlediğiniz container image'ında çalıştırır; container'da build edilebilen her dil ve araç Inertia'da da build edilir.

  • Default branch'i, herhangi bir branch'i ya da belirli bir commit'i build edin
  • Step step canlı log'lar, renkli çıktı ve iptal
  • Kendi registry'nize push edilen Docker image'ları; archive ve static site bundle'ları artifact olarak saklanır
  • Private repository'ler proje bazında bir token'la ve yalnızca HTTPS üzerinden checkout edilir
  • Build makineleri ürettikleri image'ları ve cache'lerini kendileri temizler
Inertia · Build

RELEASE'LER VE ENVIRONMENT'LAR

Değiştirilemez release'ler, sıralı environment'lar

Her release sabit bir snapshot'tır. Staging'de test ettiğiniz şey, production'a giden şeyin ta kendisidir.

  • Release'ler default branch'ten, belirlediğiniz branch'lerden otomatik ya da elle oluşturulur
  • Tüm projelerin paylaştığı test → staging → production gibi sıralı environment'lar
  • Environment bazında otomatik deployment; bir feature branch hiçbir zaman doğrudan production'a gitmez
  • Her hedefte son N release saklanır (2 ile 20 arası)
  • Bir release'in dondurulmuş variable'larını güncel tanımlarla karşılaştırın
Inertia · Release

APPROVAL, FREEZE VE ROLLBACK

Production'da varsayılan olarak güvenli

Production olarak işaretlenen environment, proje aksini belirtmedikçe approval ister; kimse kendi deployment'ını onaylayamaz.

  • Approver'lar kullanıcı ya da ekip olarak tanımlanır; gereken approval sayısı belirlenir
  • Deployment'tan önce hedef makineleri ve reddedilme gerekçelerini tek tek gösteren onay ekranı
  • Bir environment'ı gerekçesiyle freeze edin; freeze kalkana kadar otomatik deployment'lar ve rollback'ler dahil yeni deployment yapılmaz
  • Step bazında, özel request header'ları da gönderebilen health check'ler
  • Son sağlam release'e otomatik rollback; bir veritabanı migration'ının gerisine asla geçmez
Inertia · Approval

AGENT FLEET

Build ve deployment makineleriniz tek ekranda

Her agent version'ını, platformunu, sağlığını ve Inertia'nın üzerine deploy ettiklerini dakikada bir bildirir.

  • Bir makineyi bir saat içinde süresi dolan tek kullanımlık bir token'la enroll edin
  • Son bir saat, gün ve haftanın CPU, bellek ve disk grafikleri; uyarılarıyla
  • Bir agent'ı drain edip yeni iş almasını durdurun; restart edin ya da sertifikasını arayüzden yenileyin
  • Kayıt altında, sınırlı bir operasyon seti: servisi restart etme, health check'i tekrarlama, eski release'leri temizleme, log tail
  • Agent'lar imzalı release'lere kendileri güncellenir; rollout dalgalar halinde, production en sonda yapılır
Inertia · Agent'lar

DORA METRICS

Delivery performansı, kanıtıyla

Mühendislik ekiplerinin konuştuğu dört DORA metriği; kendi build, release ve deployment'larınızdan hesaplanır.

  • Deployment frequency ve commit'ten production'a lead time
  • Change failure rate ve time to restore
  • Proje ve environment bazında, kendi saat diliminizde
  • Build ve deployment süreleri; en sık hata veren step
  • Her grafiğin yanında sayıları gösteren bir tablo
Inertia · Insights

Nereye deploy eder

Serbest script'ler değil, tipli deployment step'leri

Deployment, bir environment'taki agent'ların sırayla çalıştırdığı isimli step'lerden oluşur. Her step tipi deploy ettiği şeyi nasıl yerleştireceğini, başlatacağını, kontrol edeceğini ve rollback edeceğini bilir.

Docker container'ları

Yeni container eskisinin yanında başlar; health check'ten geçtiğinde trafik ona geçer.

systemd servisleri

Inertia'nın yazdığı bir unit altında servis; yeni release health check'ten geçemezse önceki geri konur.

Static site'lar

Managed Caddy ya da kendi proxy'nizin arkasında, release dizininden yayınlanan static bundle.

Veritabanı migration'ları

Flyway, Alembic ya da EF Core bundle'ıyla; migration'ın gerisine dönüşe karşı korumalı.

Config dosyaları

Release'in variable'larıyla hedefte render edilen template'ler.

HTTP check'ler

Bir URL, beklenen yanıtı verene kadar retry ile sorgulanır.

Windows hedefleri

Bir Windows agent'ıyla IIS site'ları ve Windows servisleri.

Bildirimler

Deployment'ın ortasında bir kanala mesaj.

Step template'lerle bir yönetici birkaç step'i bir kez, numaralı bir version olarak yayınlar; tüm projeler onları adıyla kullanır.

Güvenlik ve kontrol

Release'lerinin hesabını veren ekipler için

Kim nereye deploy edebilir, bir step hangi secret'ları görür ve ne değişti; hepsi açıkça tanımlı ve kayıt altında.

Proje, environment ve rol bazında variable'lar. Secret'lar şifrelenir ve bir daha gösterilmez; ne arayüzde ne log'larda.

Inertia · Variable'lar ve secret'lar

Self-hosted

Control plane, veritabanı ve storage sizin altyapınızda çalışır.

mTLS ile agent'lar

Her agent'ın kendi anahtarı ve kurulumunuzun kendi certificate authority'sinden aldığı sertifikası vardır.

Roller ve ekipler

admin, project_admin, deployer, approver ve viewer; global, proje ya da environment kapsamında.

2FA

Girişte authenticator uygulaması kodu; secret'ı veritabanında şifreli.

Şifreli secret'lar

Master key'inizle şifrelenir, API'den asla dönmez, build ve deployment log'larında maskelenir.

Four-eyes approval

Production deployment'ını talep eden kişi onu hiçbir zaman onaylayamaz.

Audit log

Her yazma işlemi kim, ne zaman, nereden ve hangi alanlar değişti bilgisiyle kaydedilir.

İmzalı agent güncellemeleri

Agent release'leri offline imzalanır; control plane onları dağıtabilir ama imzalayamaz.

Kurulum ve işletim

Kurulumu kolay, işletmeye hazır

Inertia, systemd altında ve sizin TLS reverse proxy'nizin arkasında çalışan tek bir sunucu uygulamasıdır; yanında zaten tanıdığınız servisler.

Neye ihtiyaç duyar

  • systemd'li bir Linux sunucu
  • PostgreSQL 17 veya üzeri
  • S3 uyumlu object storage
  • Image build ediyorsanız bir container registry
  • Bir TLS reverse proxy ve agent'lar için tek bir giriş portu

Neler hazır geliyor

Kurulum sihirbazı

Tek seferlik setup kodu, ilk yönetici, bağlantı kontrolleri ve ilk agent.

Health ve metrics

/healthz, /readyz ve Prometheus için /metrics endpoint'leri.

Backup ve restore

Hazır komutlar; restore ürünün kendi test suite'inde düzenli olarak prova edilir.

Bildirimler

Başarısız deployment'lar, bekleyen approval'lar, offline agent'lar ve freeze'ler için e-posta, Slack ve imzalı webhook.

Registry retention

Yalnızca hedeflerin hâlâ ihtiyaç duyabileceği image'lar saklanır.

Managed reverse proxy

Bir projeyi Inertia'nın yönettiği Caddy yayınlasın, sertifikalarını da yenilesin.

Biz de kullanıyoruz

Inertia'yı Avva Mobile geliştiriyor ve kendi servislerimizi onunla deploy ediyoruz. Kurulumu sizin sunucularınızda yapabilir, ilk projelerinizi bağlayabilir ve geçiş boyunca ekibinizin yanında olabiliriz.

  • Kendi altyapınıza kurulum
  • İlk projelerinizin devreye alınması
  • Ekibiniz alışana kadar destek
Demo Talep Edin

Sıkça sorulan sorular

Inertia, Avva Mobile'ın geliştirdiği self-hosted bir CI/CD ve deployment platformudur. Kodunuzu kendi agent'larınızda build eder, başarılı build'leri değiştirilemez release'lere dönüştürür ve bunları approval, freeze ve otomatik rollback kurallarıyla sıralı environment'lara deploy eder.

systemd'li bir Linux sunucu, PostgreSQL 17 veya üzeri, S3 uyumlu object storage, pipeline'larınız image build ediyorsa bir container registry ve agent'lar için tek bir giriş portu açık bir TLS reverse proxy. Build makinelerinde Docker gerekir.

Her build step'i sizin seçtiğiniz bir container image'ında çalışır; container'da build edilebilen her şey Inertia'da da build edilir: örneğin .NET, Node.js, Java, Go ya da Python. Bir build Docker image'ı, archive ya da static site bundle'ı üretebilir.

Bir agent tek kullanımlık bir token'la bir kez enroll edilir. Kendi anahtarını üretir, kurulumunuzdan bir sertifika alır ve bundan sonra control plane'e mTLS ile kendisi bağlanır. Deploy ettiğiniz makinelerde dışarıya açık port gerekmez.

Rollback, dondurulmuş bir snapshot olan önceki bir release'i yeniden deploy etmektir. Bir deployment başarısız olduğunda, o environment'ta en son başarılı olan release'e otomatik rollback yapılabilir. Inertia veritabanını hiçbir zaman geri çevirmez: bir migration'ın gerisine dönmek açık bir onay ister ve otomatik rollback bunu asla yapmaz.

Otomatik bir import aracı yok. Pipeline tek bir YAML dosyasıdır ve build step'leri container içindeki sıradan komutlardır; bu yüzden mevcut build script'leriniz genellikle olduğu gibi taşınır. Eski süreç çalışmaya devam ederken bir iki pilot projeyle başlamanızı öneriyoruz; geçişi sizinle birlikte planlayabiliriz.

Hayır. Repository'ler kendi agent'larınızda checkout edilir; secret'lar kendi veritabanınızda şifrelenir, bir daha gösterilmez ve log'larda maskelenir.

Açık bir fiyat listesi yoktur. Kurulum ve destek kapsamı sizinle birlikte belirlenir, demo sonrası teklif hazırlanır. Build'ler kendi makinelerinizde çalıştığı için dakika başı build ücreti yoktur.

Delivery pipeline'ınızı kendi kurallarınızla yönetmeye hazır mısınız?

Inertia'ya projelerinizi düşünerek birlikte bakalım.

Sizi Dinliyoruz

Size nasıl yardımcı olabiliriz? Lütfen aklınızdakileri bizimle paylaşın.