Orbit
Ortam Değişkenleri
Environment variables hold the configuration and secrets your app needs at build time and at runtime, such as API keys, database URLs and feature flags, without any of it living in your repository…
Ortam Değişkenleri
Ortam değişkenleri, API anahtarları, veritabanı URL'leri ve özellik bayrakları gibi uygulamanızın derleme zamanında ve çalışma zamanında ihtiyaç duyduğu yapılandırma ve gizli bilgileri tutar; bunların hiçbiri depo içinde yer almaz. Bu kılavuz, Orbit içinde nerede bulunduklarını, kapsam ve öncelik nasıl çalıştığını, bir değeri gizli olarak işaretlemeyi, toplu içe aktarmayı ve dışa aktarmayı ve bir değişkenin her zaman tanımlanmamış kalmayı sağlayan hataları kapsar.
Nerede Bulunurlar
Projenizi Orbit içinde açın ve Env vars sekmesini /orbit/<project-id>/env-vars konumunda tıklayın.
Sayfa bölümlere ayrılmıştır:
- Tüm ortamlar en üstte: proje genelinde değişkenler, her derlemede mevcut.
- Ortam başına daraltılabilir bölüm (Üretim, Hazırlık ve herhangi bir önizleme) o ortamın geçersiz kılmalarını tutar.
Liste üzerinde bir arama kutusu ve Yalnızca gizli dizeler filtresi vardır; bunlar uzun bir liste için hızlı geçiş yoludur.
Kapsam Nasıl Çalışır
| Kapsam | Etkilediği şey |
|---|---|
| Tüm ortamlar (proje genelinde) | Bu projenin her derlemesine enjekte edilir |
| Ortam düzeyi geçersiz kılma | Yalnızca o bir ortama uygulanır ve aynı anahtarla proje genelinde değeri geçersiz kılar |
Sayfadaki alt başlık kuralı açıkça belirtir: proje genelinde değişkenler her derlemede mevcuttur ve ortam düzeyi geçersiz kılmalar öncelik alır.
Tipik bir kurulum, test veritabanına işaret eden proje genelinde DATABASE_URL ile, gerçek veritabanına işaret eden üretim düzeyi geçersiz kılmadır. Üretim derlemeleri gerçek veritabanını alır, diğer her şey test veritabanını alır ve daha sonra eklediğiniz hiçbir şey yanlışlıkla üretim kimlik bilgilerini bir önizlemeye sızmaz.
Proje genelinde değişkenlerde ayrıca bir Kullanılabilir denetimi vardır; bu, başka türlü proje genelinde olan bir değişkeni belirli ortam türlerinden (production, staging, preview) hariç tutmanıza olanak tanır.
Ortam başına kapsamlamaya ilişkin tam ayrıntılar (güvenlik gerekçesi dahil) Ortam Değişkenlerini Ortam Başına Ayarlama başlığında bulunmaktadır.
Proje genelinde bir değişken dal önizleme derlemelerine enjekte edilir ve önizleme URL'leri bağlantıya sahip herkes tarafından genel olarak ulaşılabilir. Üretim veritabanı kimlik bilgileri, canlı ödeme anahtarları ve yönetici belirteçleri yalnızca üretimine kapsamlı olmalıdır. Bu, bu sayfada doğru yapılması gereken tek en önemli şeydir.
Bir Değişken Ekleme
- Env vars sekmesinin alt kısmındaki Değişken ekle formuna kaydırın.
- ANAHTAR girin, örneğin
NEXT_PUBLIC_API_URL. - Değeri girin.
- Bir Kapsam seçin: Tüm ortamlar (proje genelinde) veya belirli bir ortam geçersiz kılması.
- Proje genelinde seçtiyseniz, bu değişkenin ulaşmaması gereken ortam türlerini kaldırmak için Kullanılabilir düğmelerini kullanın.
- Herhangi bir duyarlı şey için Gizli olarak işaretle işaretini koyun.
- Ekle seçeneğini tıklayın.
Form, işlemeyi gerçekleştirmeden önce ne yapacağını söyler: bir ortam geçersiz kılması, yalnızca o ortamın derlemelerine uygulanacağını söyleyen bir not gösterir ve kısıtlanmış proje genelinde bir değişken, enjekte edileceği ortam türlerini gösterir.
Değişiklikler Ne Zaman Yürürlüğe Girer
Bir değişkeni ekleme, düzenleme veya silme, şu anda canlı olan dağıtımı değiştirmez. Değişkenler bir derleme çalıştırıldığında enjekte edilir, bu nedenle değişiklik sonraki dağıtımdan itibaren uygulanır. Uygulamanızın bağlı olduğu herhangi bir şeyi değiştirdikten sonra yeniden dağıtın.
Orbit bunu açıkça belirtir. Bir dağıtımın ayrıntı sayfasını açın ve yapılandırma derlendiğinden beri değiştirilmişse, değişikliğin yeniden dağıtana kadar yürürlüğe girmeyeceğini söyleyen bir Bu dağıtımdan bu yana ortam değişkenleri güncellendi uyarısı alırsınız.
Gizli Dizeler
Bir sohbet içine yapıştırmazsanız herhangi bir şey için Gizli olarak işaretle işaretini koyun: API anahtarları, veritabanı parolaları, belirteçler, imzalama anahtarları.
Gizli değerler panelde maskelenmiş ve gizli bir rozetini taşır. Gizli olmayan değerler (düz) bir işaretçi gösterir.
Bir gizli dizi kaydedildikten sonra değeri geri okunamaz; ne sizin ne de panelde başka kimse tarafından. Değiştirerek (düzenleme simgesine tıklayın, yeni bir değer yazın, kaydedin) yapabilirsiniz ama ortaya çıkaramazsınız. Burada kaydetmeden önce parola yöneticinizde kendi kopyanızı tutun.
Orbit ayrıca bir değerin ne kadar süredir yerinde olduğunu izler ve daha eski değişkenlerde bir yaş rozeti gösterir; bunun yanında döndürme önerisi yapan bir ipucu vardır. Bu bir uygulama değil, bir çıkıştır.
Düzenleme ve Silme
Değerini değiştirmek için bir değişkenin yanındaki düzenleme simgesini tıklayın. Kaldırmak için Sil seçeneğini tıklayın ve onaylayın: iletişim kutusu, sonraki dağıtımda bunlara bağlı derlemelerin kırılacağını uyarır; bu, neler olduğunun doğru bir açıklamasıdır.
Toplu İçe Aktarma ve Dışa Aktarma
Sekmenin üst kısmındaki iki düğme toplu işi ele alır.
İçe aktar .env bir yapıştırma kutusu açar. Bir .env dosyasının içeriğini yapıştırın, bir kapsam seçin ve Orbit kaç değişkeni tespit ettiğini ve kaçını gizli olarak işaretleyeceğini söyler. Anahtarları otomatik olarak adlarına göre işaretler, bu nedenle SECRET, TOKEN, KEY, PASSWORD ve benzeri içeren herhangi bir şey içe aktarmadan önce gizli olarak işaretlenir. Aynı anahtarla mevcut değişkenlerin üzerine yaz seçeneği vardır; varsayılan olarak kapalıdır.
İndir .env yalnızca değişken adlarını içeren, hiç değer olmayan bir şablon üretir. Bir ekip arkadaşıyla paylaşmak için tasarlanmıştır; o da kendi değerlerini doldurur; yedek olarak kullanılmaz.
Bir .env şablonunu indirme hiçbir zaman gizli olmayan değişkenler de dahil olmak üzere değerler içermez. Orbit'ten değerleri dışa aktarmanın hiçbir yolu yoktur. Bir değerin kopyasına ihtiyacınız varsa, başlangıçta oluşturduğunuz yerden alın.
Değişkenleri Ortamlar Arasında Kopyalama
Değişkenleri ortamlar arasında kopyala paneli tüm bir kümeyi bir kapsamdan diğerine kopyalar. Bir Kaynaktan (proje düzeyi veya belirli bir ortam) ve bir Hedefe seçin, isteğe bağlı olarak Hedefte zaten mevcut olan değişkenlerin üzerine yaz işaretini işaretleyin ve kaç tanesinin ekleneceğini, güncelleneceğini ve atlanacağını görmek için Önizle seçeneğini tıklayın.
Ayrıca üretim ve hazırlığı anahtar anahtar karşılaştıran ve yalnızca birinde olanı, farklı olanı ve eşleşeni bildiren bir Env senkronizasyon denetimi sayfası vardır. Hazırlamada çalışıyor ancak üretimde değil mi sorunu için doğru araçtır.
Değişkenleri Projeler Arasında Paylaşma
Birden çok proje aynı kimlik bilgisine ihtiyaç duyuyorsa, her projeye kopyalamak yerine bir env grubu kullanın. Orbit'e gidin, ardından Env grupları, bir grup oluşturun, ona değişkenler ekleyin ve ihtiyaç duyan projeleri bağlayın.
Grup değişkenleri derleme zamanında enjekte edilir ve proje düzeyi ve ortam düzeyi değişkenleri grup değişkenlerinden öncelik alır. Bir hesapta en fazla 20 grubunuz olabilir.
Framework Notları
Hangi değişkenlerin tarayıcıya ulaştığına Orbit tarafından değil, çerçeveniz tarafından karar verilir. Orbit kapsamdaki her şeyi enjekte eder; çerçeve neyin ortaya konacağına karar verir.
- Next.js:
NEXT_PUBLIC_ile önceki tuşlar derleme zamanında tarayıcı paketine satır içi alınır. Diğer her şey sunucu tarafında kalır. - Vite:
VITE_ile önceki tuşlar tarayıcıya ortaya konur. Diğer her şey yalnızca derleme zamanıdır. - Node.js uygulamaları: kapsamdaki her şey derleme sırasında
process.envüzerinde ve Sunucu modu açık olduğunda çalışma zamanında bulunur.
Hiçbir zaman bir değeri gizli olarak işaretlemeyın ve ardından NEXT_PUBLIC_ veya VITE_ ile de ön ek eklemeyin. Gizli bayrak yalnızca panelin size değeri gösterip göstermediğini denetler; ön ek, çerçevenizin onu her ziyaretçinin tarayıcısına gönderip göndermediğini denetler. Ön ek kazanır.
Bir Derlemenin Gerçekten Aldığını Kontrol Etme
Her dağıtım ayrıntı sayfası, derleme zamanında enjekte edilen ortam değişkeni anahtarlarını listeler ve bunları geçerli yapılandırmanıza göre farklılaştırır: eklenen, değiştirilen, kaldırılan ve değiştirilmemiş. Turkuaz anahtarlar bir ortam düzeyindeki geçersiz kılmadan geldi, gri olanlar proje düzeyinden. Değerler hiçbir zaman depolanmaz veya gösterilmez, ancak bir anahtarın üzerine gelindiğinde, iki ortamın aynı değeri tuttuğunu ortaya çıkarmadan doğrulamak için yeterli olan SHA-256 parmak izi verilir.
Bu, değişkeninizin gerçekten derlemeye ulaşıp ulaşmadığının kesin cevabıdır. Başka bir şey değiştirmeden önce kontrol edin.
Sorun Giderme
Değişken çalışma zamanında tanımlanmamış. Dağıtımın değişiklikten sonra geldiğini kontrol edin, ardından kapsamın bu ortamı kapsadığını kontrol edin, ardından yukarıdaki çerçeve ön ek kurallarını kontrol edin. Bu sırada.
Üretimde çalışıyor ama bir önizlemede değil. Değişken yalnızca üretim kapsamlı veya proje genelinde bir değişken preview seçilmiş Kullanılabilir altında. Bu genellikle kasıtlıdır.
Yerel olarak çalışıyor ama derlemede değil. Yerel .env dosyanız depoda değil ve olmamalıdır. İçe aktar .env ile içe aktarın ve doğru kapsamı seçin.
Hazırlık üretimde olan her şeyi kaybediyor. Ayarlar içinde Hazırlık: ortam değişkenleri altında Üretim ortam değişkenlerini devral seçeneğini açın veya Değişkenleri ortamlar arasında kopyala seçeneğini kullanın.