Kısaca EJO#
EJO bir deployment otomasyonu control plane'idir. Kodunuzu build eder, tarar, imzalar ve Kubernetes ya da Docker üzerinde çalışan hedeflerinize deploy eder. Bunu yaparken her run'ın kaydını tutar: hangi commit, hangi image, hangi environment, kim başlattı, sonuç ne oldu.
EJO iki parçadan oluşur:
- Master: Yönetim konsolunu, API'yi ve tüm kayıtları (PostgreSQL) barındıran merkez. EJO Cloud'da master'ı biz işletiriz; size
acme.ejocloud.comgibi kendi adresinizde ayrı bir master ve veritabanı açılır. - Agent: Sizin network'ünüzde, Docker host'unuzda ya da Kubernetes cluster'ınızda çalışan küçük bir süreç. Master'a dışarı doğru bağlanır, iş alır, pipeline step'lerini çalıştırır ve sonucu geri bildirir.
Kaynak kodunuz, secret'larınız ve workload'larınız kendi altyapınızda kalır. Master yalnızca neyin, nerede, ne zaman çalışacağını koordine eder.
Nasıl bir araya geliyor?#
GitHub / GitLab / Azure DevOps
│ push, pull request, tag (webhook)
▼
┌──────────────────────────────┐
│ EJO master │
│ acme.ejocloud.com │
│ binding → pipeline → run │
└──────────────▲───────────────┘
│ agent dışarı bağlanır (HTTPS):
│ heartbeat, iş alma, log ve sonuç
┌──────────────┴───────────────┐
│ Sizin network'ünüz │
│ Environment "production" │
│ ├─ Agent (K8s veya Docker) │
│ └─ Deploy edilen workload │
└──────────────────────────────┘
- Bir repository binding, SCM'deki bir repo'yu bir pipeline'a ve bir environment'a bağlar ve hangi olayların (commit, pull request, tag, schedule) run başlatacağını belirler.
- Repo'ya bir push geldiğinde master bir deployment (run) oluşturur ve pipeline'ın step'lerini planlar.
- O environment'taki online bir agent işi bir sonraki heartbeat'inde üstlenir, step'leri sırayla ya da paralel olarak çalıştırır ve logları canlı olarak gönderir.
- Sonuç konsolda görünür; SCM'ye (GitHub, GitLab veya Azure DevOps) commit status'ü ve pull request yorumu olarak da yazılır.
Temel kavramlar#
| Kavram | Ne işe yarar |
|---|---|
| Master | Konsol, API ve kayıtların tutulduğu merkez. EJO Cloud'da her müşteriye ayrı bir master açılır. |
| Agent | Environment içinde çalışan ve işleri yürüten süreç. NAT ve firewall arkasından çalışır, çünkü bağlantıyı kendisi başlatır. |
| Environment | Deploy hedefi: bir Kubernetes cluster'ı ya da bir Docker host'u. Agent'lar bir environment'a kaydolur. |
| Repository binding | Repo + pipeline + environment + trigger kuralları. |
| Pipeline | Step'lerden oluşan iş akışı: clone, build, scan, sign, deploy. |
| Deployment | Bir pipeline'ın tek bir run'ı. EJO'da iş birimi budur. |
.ejo dosyası |
Repo kökünde servisi tanımlayan dosya: ad, açıklama, sahip ve isteğe bağlı olarak pipeline. |
Tüm terimlerin ayrıntılı açıklaması için Kavramlar sayfasına bakın.
EJO Cloud ile neler gelir?#
ejocloud.com/signupüzerinden birkaç dakikada kendi EJO'nuz,<alt-alan-adı>.ejocloud.comadresinde.- GitHub, GitLab ve Azure DevOps desteği. GitHub'ı paylaşılan "EJO Cloud" GitHub App'iyle tek tıkla bağlar ve hangi repo'lara erişileceğini siz seçersiniz; GitLab ve Azure DevOps webhook ve token'la bağlanır. Bkz. Kaynak kod bağlantısı (SCM).
- Google veya GitHub hesabıyla kayıt ve giriş, authenticator uygulamasıyla iki adımlı doğrulama (2FA).
- Kubernetes üzerinde her pull request (GitLab'da merge request) için izole preview'lar (Review App'ler).
- Build'lerden sonra otomatik SBOM ve Trivy taraması, cosign ile imzalama ve environment bazında supply chain policy'leri.
- Deploy sonrası doğrulama (deploy verification) ve otomatik rollback, fail olan step'ten itibaren rerun.
- Step pack'ler, pipeline OIDC token'ları, test intelligence ve harici secret manager entegrasyonları (Vault, AWS, Azure, CyberArk).
Sonraki adımlar#
- Hızlı başlangıç: Kayıttan ilk deployment'a kadar.
- Kavramlar: EJO sözlüğü.
- Agent kurulumu: Agent'ı kendi network'ünüze kurun.