Cloud Agent Build'leri
Build'ler Cloud Agent ortamınızı arka planda hazırlar. Her agent, repolarınız, araçlarınız ve bağımlılıklarınız hazır olan önceden hazırlanmış bir makinede başlar.
Build'lerle şunları elde edersiniz:
- Daha hızlı başlangıçlar: Klonlama, kurulum ve bağımlılık işlemleri önceden gerçekleştirilir; böylece agent'ler her başlangıçta beklemek yerine hazır bir ortamda başlar.
- Güvenilir başlangıçlar: Agent'ler her zaman en son başarılı Build'de başlar. Başarısız bir kurulum veya hatalı config, çalışan Build'in yerini almaz.
- İzlenebilir ortamlar: Her Build'i görebilir, log'larını ve commit'lerini inceleyebilir, her agent'in hangi Build'i kullandığını takip edebilirsiniz.
Mevcut bir ortamda Build'leri etkinleştirme
Yeni ortamlar varsayılan olarak Build'leri kullanır. Mevcut bir ortamda Build'leri etkinleştirmek için:
- Cloud Agents kontrol panelinde Environments'ı açın.
- Bir ortam seçin ve Builds sekmesini açın.
- Şu kurulum seçeneklerinden birini belirleyin:
- Bir agent'ın ortamınızı incelemesi, bir Build'i test etmesi ve gerekli değişiklikleri önermesi için Run setup agent'ı seçin.
- Build'leri etkinleştirip mevcut yapılandırmanızla bir Build oluşturmak için Enable Builds'i seçin.
- Agent çalıştırmalarında kullanmadan önce ilk Build'in başarıyla tamamlandığını doğrulayın.
Kurulum agent'ı, Build sırasında hangi komutların ve bir agent başlatıldığında hangi komutların çalıştırılması gerektiğini belirler. Kontrol panelinden yönetilen ortamlar için inceleyip kaydedebileceğiniz güncellenmiş bir yapılandırma önerir. .cursor/environment.json içinde tanımlanan ortamlar için değişiklikleri içeren bir pull request açabilir.
Build'leri tüm agent çalıştırmalarında etkinleştirmeden yapılandırmanızı test etmek için Builds sekmesinden Test build'i seçebilirsiniz. Kurulum agent'ı Build'leri sizin yerinize etkinleştirmez. Hazır olduğunuzda Enable Builds'i seçin.
Build'ler nasıl çalışır
Build, hazırlanmış bir Cloud Agent ortamının başlatılabilir anlık görüntüsüdür. Cursor, agent çalıştırmalarından önce Build'ler oluşturur ve en son başarılı Build'i başlatılmaya hazır tutar.
Her Build şu yaşam döngüsünden geçer:
- Tetikleme: Bir Build; zamanlamaya göre, bir ortam sürümünü kaydettikten sonra, manuel istekle veya bir agent'ın isteği üzerine başlar.
- Hazırlama: Cursor, temel imajınızı kullanarak başlar, ortamdaki tüm depoları varsayılan dallarından klonlar ve
installkomutunu tamamlanana kadar çalıştırır. - Anlık görüntü: Cursor, makinenin disk durumunu ortam sürümü ve her depo için tam commit SHA'sıyla birlikte kaydeder.
- Etkinleştirme: Başarılı bir Build etkin hâle gelir.
- Agent'ları başlatma: Yeni agent'lar, otomasyonlar ve kod incelemeleri etkin Build'den başlar.
Cursor, etkin Build'lerin önceden ısıtılmış kopyalarını hazır tutar. Bu sayede depo klonlama ve bağımlılık kurulumu agent başlatma sürecinden çıkarılır.
Yeni bir Build başarısız olursa agent'lar son başarılı Build'i kullanmaya devam eder. Hatalı bir bağımlılık güncellemesi, install komutu veya Dockerfile etkin ortamın yerini almaz.
Build ve agent başlatılırken çalışanlar
Her ortam komutunu farklı bir aşama için kullanın:
| Komut | Ne zaman çalışır | Kullanım amacı |
|---|---|---|
install | Her Build sırasında | Bağımlılıkları kurmak, kod oluşturmak, çıktıları derlemek ve disk önbelleklerini ısıtmak |
start | Her agent çalıştırmasının başında | Docker'ı, veritabanlarını, tünelleri ve diğer hizmetleri başlatmak |
terminals | Her agent çalıştırmasının başında | Agent ile paylaşılan tmux terminallerinde uygulama işlemlerini başlatmak |
install komutunu eksiksiz ve idempotent olacak şekilde hazırlayın. Bu komut tekrar tekrar çalışabilir ve daha önce hazırlanmış disk durumunun üzerinde çalışabilir. npm install, pnpm install ve pip install gibi komutlar bu modeli zaten destekler.
Build'ler yalnızca disk durumunu korur. Cursor makinenin anlık görüntüsünü aldığında çalışan işlemler, shell dışa aktarımları ve
bellek içi önbellekler durur. Hizmetleri ve oturuma özgü diğer işlemleri
start veya terminals içine yerleştirin.
Mevcut ortam girdileriniz geçerliliğini korur. Build'ler kaydedilmiş anlık görüntüleri, .cursor/environment.json dosyasını, Dockerfile'ları, kurulum ve başlatma komutlarını, gizli bilgileri ve ağ ayarlarını kullanır.
Build'lerin Git durumunu yönetme şekli
Bir Build, çalıştığında her depo için checkout edilen commit'i kaydeder.
- Varsayılan dal çalıştırmaları, etkin Build'de kaydedilen commit'ten başlar. Zamanlanmış Build'ler bu commit'i arka planda yeniler. Eski Build'leri güncelle açık olduğunda ve bir Build, Eskime eşiğinizden daha eskiyse agent'lar başlangıçta varsayılan dalın en güncel kodunu çeker. Bu ayar kapalıyken agent'lar Build'in kaydedilen commit'ini olduğu gibi kullanır. Varsayılan eşik 24 saattir. Her zaman çekmek için bunu
0olarak ayarlayın. - Özellik dalı çalıştırmaları, etkin Build'in hazırlanan disk durumundan başlar; ardından Cursor istenen dalı checkout eder. Build'deki bağımlılıklar yeniden kullanılırken kaynak kodu seçtiğiniz dalla eşleşir.
- Çoklu repo ortamları, her depo için bir commit kaydeder ve çalışma alanının tamamını birlikte hazırlar.
Bir özellik dalı bağımlılıkları değiştirirse agent, testten önce ortamı yenileyebilmesi için ortam bağlamınızı ve kurulum komutunuzu alır.
Gizli bilgilerin Build'lerle kullanımı
Build'ler ekip ve ortam gizli bilgilerine erişebilir. Bunları özel paket kayıtları, çıktı depoları ve install için gereken diğer kimlik bilgileri için kullanın.
Kullanıcı gizli bilgileri yalnızca bir agent başladığında eklenir. Build'ler sırasında kullanılamaz ve paylaşılan bir snapshot'ın parçası olmaz.
Ortam yapılandırmasını kaydetmek veya gizli bilgilerini değiştirmek yeni bir Build'i tetikler.
Build'leri Yönetme
Bir ortamın Build'ler sekmesinde şunları yapabilirsiniz:
- Her Build'in türünü, durumunu ve başlama zamanını görüntüleme
- Ayrıntılarını ve günlüklerini incelemek için bir Build açma
- İsteğe bağlı olarak bir Build çalıştırmak için Build'i tetikle'yi (veya Build'ler devre dışıyken Build'i test et'i) seçme
- Taslak bir Build'i etkinleştirme veya bir Build'i devre dışı bırakma
- Devam eden bir Build'i iptal etme
- Belirli bir Build'den bir agent başlatma
- Eski build'leri güncelle ve Eskime eşiği ayarlarını yapılandırma
Her agent çalıştırması, başlatıldığı Build'i kaydeder. Ortam davranışını, Build'deki tam yapılandırma ve depo commit'leriyle karşılaştırmak için bu bilgiyi kullanın.
Build Hata Ayıklama
Olaylarını ve günlüklerini incelemek için başarısız bir Build'i açın. Siz hatayı teşhis ederken agent'lar etkin durumdaki başarılı Build'den başlamaya devam eder.
Başarısız durumu tam olarak yeniden üretmek için başarısız Build'den bir agent başlatın. Agent, makineyi başarısız durumunda açar; burada günlükleri inceleyebilir, ortamı güncelleyebilir, bir test Build'i çalıştırabilir ve sonucu doğrulayabilir.
Yerleşik Cursor Cloud MCP aracılığıyla bir Cloud Agent'tan Build'leri incelemesini ve yönetmesini de isteyebilirsiniz. Örneğin:
Bu ortam için en son başarısız olan Build'i inceleyin. Ortamyapılandırmasını düzeltin, bir test Build'i çalıştırın ve nihaikurma ve başlatma komutlarını önermeden önce sonucu doğrulayın.Geliştirme davranışı başvurusu
Bir agent hangi Build'i kullanır?
Agent, varsayılan olarak ortamı için en son başarılı etkin Build'i kullanır.
Test veya hata ayıklama sırasında belirli bir Build'den de agent başlatabilirsiniz.
İlk başarılı Build'den önce ne olur?
Agent'ler, ilk Build başarıyla tamamlanana kadar standart ortam başlatma akışını kullanır. Başarısız bir Build, mevcut agent iş akışlarını kesintiye uğratmaz.
Kaynak kod ne kadar güncel?
Özellik dalı çalıştırmaları, Build başladıktan sonra istenen dalı çeker. Default dal çalıştırmaları, etkin Build'in kaydettiği commit'ten başlar. Eski Build'leri güncelle açıksa ve Build, Eskime eşiğinizden daha eskiyse agent'lar başlangıçta en güncel default dal kodunu çeker.
Build'ler anlık görüntülerin veya Dockerfile'ların yerini alır mı?
Hayır. Kaydedilmiş bir anlık görüntü veya Dockerfile, Build oluşturmak için kullanılan temel makineyi tanımlar. Cursor daha sonra repoları klonlar, install komutunu çalıştırır ve yeni, önyüklenebilir bir anlık görüntü oluşturur.
Build'ler birden fazla repo'yu destekler mi?
Evet. Tek bir Build, environment'taki tüm repo'ları hazırlar ve her biri için kullanılan commit'i kaydeder.
Build'ler ek ücrete tabi mi?
Hayır. Build'ler Cloud Agent'lara dahildir.