Orbit
Ortam Başına Ortam Değişkenlerini Ayarlama
Orbit lets you decide exactly which builds see which environment variables, so production credentials never end up in a publicly reachable branch preview. This guide covers how scope and precedence…
Orbit, ortam değişkenlerinin hangi derlemeleri göreceğine tam olarak siz karar verin, böylece üretim kimlik bilgileri hiçbir zaman herkese açık bir şube önizlemesinde ortaya çıkmaz. Bu kılavuz kapsamın ve önceliğin nasıl çalıştığını, yalnızca üretim için bir değişken eklemeyi, hazırlama mirasının nasıl davrandığını ve bir derlemenin gerçekte neyi aldığını doğrulamayı kapsar.
Bunun Neden Önemli Olduğu
Bir şube önizlemesi halka açık bir URL alır. Bağlantıya sahip olan herkes bunu yükleyebilir. Bir değişken her ortama kapsamlandırılmışsa, bu ön izleme derlemesine enjekte edilir ve ne yapacaksa üretim kimlik bilgilerinizle yapar.
Bu sayfanın var olmasının tamamı bu nedendir. Aşağıdaki her şey bir kuralın hizmetindedir: üretim gizli dizileri üretim kapsamında olmalı ve başka hiçbir yerde olmamalıdır.
Kapsamlandırma Nasıl Çalışır
Her değişkenin, derleme sırasında ne zaman enjekte edileceğine karar veren bir kapsamı vardır.
| Kapsam | Enjekte edildiği yer |
|---|---|
| Tüm ortamlar (proje genelinde) | Bu projenin her derlemesi, kısıtlamadığınız sürece |
| Belirli bir ortam geçersiz kılması | Yalnızca bu bir ortamın derlemeleri |
Aynı anahtar her iki düzeyde de mevcut olduğunda, daha spesifik olan kazanır. Bir ortam düzeyi geçersiz kılması, aynı anahtarla proje genelinde bir değişkeni yener. Env vars sayfası bunu, Tüm ortamlar bölümünün altyazısında belirtir: proje genelinde değişkenler her derlemede kullanılabilir ve ortam düzeyi geçersiz kılmaları önceliklidir.
Proje genelinde değişkenler, bir geçersiz kılma olmadan da daraltılabilir. Available in denetimi üç ortam türü sunar (production, staging, preview) ve bunlardan herhangi birini seçimden çıkarabilirsiniz.
Bir Kapsam ile Değişken Ekleme
- Projenizi Orbit içinde açın ve Env vars sekmesine tıklayın.
- Altta Add variable formuna gidin.
- KEY ve value alanlarını doldurun.
- Scope açılır menüsünü kullanın:
- All environments (project-wide) onu her derlemeye enjekte eder.
- [Environment name] only ([type] override) onu yalnızca bu bir ortama kapsamlandırır.
- Proje genelinde seçtiyseniz, bu değişkenin ulaşmaması gereken ortam türlerini seçimden çıkarmak için Available in düğmelerini kullanın.
- Hassas bir şey için Mark as secret kutusunu işaretleyin.
- Add seçeneğine tıklayın.
Commit etmeden önce form size neyi yapmak üzere olduğunu söyler. Bir geçersiz kılma, yalnızca bu ortamın derlemelerine uygulanacağını ve proje genelinde değişkenlerin başka yerlerde hala geçerli olduğunu söyleyen bir uyarı gösterir. Sınırlı proje genelinde bir değişken, enjekte edileceği ortam türlerini tam olarak gösterir.
Yalnızca Üretim için Değişken Ekleme
İki eşdeğer yol:
- Scope açılır menüsünde üretim ortamınızı seçin (yeşil
productionrozeti taşır) veya - Kapsamı All environments olarak tutun ve
stagingvepreviewseçimini Available in altında kaldırın.
Her iki şekilde de, değişken bir ön izleme veya hazırlama derlemesi çalıştırıldığında mevcut değildir.
"Absent" gerçekten absent anlamına gelir, boş değil. Bir ön izleme derlemesinde process.env.STRIPE_SECRET_KEY okuyan kod undefined alır ve nasıl yazıldığına bağlı olarak derleme sırasında throw olabilir veya daha kötüsü, sessizce yanlış bir dalı alabilir. Ön izlemelere değer yerine test modu değeri verin.
Güvenli Desen
Çoğu proje için bunu temiz bir şekilde çözen desen:
- production kimlik bilgisini yalnızca üretim ortamı kapsamında ekleyin.
- Aynı key tutarak, test veya sandbox değeri tutan bir değişken proje genelinde kapsamda ekleyin.
Üretim derlemeleri, daha spesifik kapsam kazandığı için üretim kapsamlı değeri alır. Ön izlemeler ve hazırlama test değerini alır. Hiçbir yerde hiçbir şey tanımsız değildir ve üretim kimlik bilgileri hiçbir zaman ön izlemeye ulaşmaz.
Bunu şunlara uygulayın:
- Üretim veritabanı URL'leri
- Ödeme sağlayıcı gizli anahtarları, ön izlemeler için sağlayıcının test anahtarlarını kullanarak
- E-posta gönderme anahtarları, böylece ön izleme gerçek müşterilere posta gönderemez
- Yönetici belirteçleri ve imza gizli dizileri
- Çağrı başına maliyeti olan her şey
Hazırlamada Üretim Değişkenlerini Devralma
Hazırlama ortamınız üretim ortamına yakınsa ve yalnızca birkaç değeri geçersiz kılmak istiyorsanız, her şeyi çoğaltmanız gerekmez.
Settings içinde, Staging: environment variables öğesini bulun ve Inherit production env vars seçeneğini açın. Üretim değişkenleri daha sonra hazırlama düzeyine göre düşük öncelikle hazırlama derlemelerine birleştirilir, bu nedenle hazırlama üzerinde açıkça ayarladığınız her şey yine de kazanır.
Devralma, üretim kimlik bilgileri de dahil olmak üzere üretim değerlerini hazırlama derlemelerine kopyalar. Yalnızca hazırlama ortamınız korunuyorsa bunu açın. Hazırlama, Settings içinde Staging: access protection ve Staging: IP allowlist bölümlerinde hem parola hem de IP izin listesini destekler. Korumasız bir hazırlama ortamı için devralma açmak, bu sayfanın söz konusu olduğu tam olarak aynı maruziyeti yeniden oluşturur.
Mevcut Değişkenleri Görüntüleme ve Düzenleme
Env vars sekmesi değişkenleri şu şekilde gruplandırır:
- All environments en üstte, proje genelinde değişkenleri tutar
- Ortam başına daraltılabilir bir bölüm, bu ortamın geçersiz kılmalarını tutar, kaç tane olduğunu söyler
Onların üzerinde bir arama kutusu ve Secrets only filtresi vardır.
Her değişken adının yanındaki rozetler hangi ortam türlerine ulaştığını gösterir. production ve preview gösteren ancak staging göstermeyen bir değişken hazırlama derlemelerinde eksik olur ve bu rozet satırı uzun bir listeyi denetlemenin en hızlı yoludur.
Bir değeri değiştirmek için düzenle simgesine tıklayın. Gizli bir değişkenin geçerli değeri ortaya çıkarılamaz, yalnızca değiştirilebilir.
Ortamlar Arasında Kopyalama ve Karşılaştırma
Copy variables between environments, bir bölüm kümesini bir kapsamdan diğerine kopyalar. Bir From ve bir To seçin, isteğe bağlı olarak Overwrite variables that already exist in the target seçeneğini işaretleyin ve işlemeden önce kaç tanesinin ekleneceğini, güncelleştirileceğini ve atlanacağını görmek için Preview seçeneğine tıklayın.
Env sync check sayfası üretim ve hazırlama anahtarını anahtara göre karşılaştırır ve yalnızca birinde neyin var olduğunu, değerleri ne kadar farklı olduğunu ve ne eşleştiğini rapor eder. Bu, "hazırlama çalışıyor ve üretim değil" veya tersi için doğru ilk duraktır.
Üretim ve hazırlama arasında farklı değerler çoğu gizli dizi için normaldir ve beklenirdir. Eşitleme sayfası bunu söyler. Aradığınız şey bir ortamda mevcut olan ve diğerinde eksik olan bir anahtardır.
Değişkenleri Projeler Arasında Paylaşma
Birkaç proje aynı kimlik bilgisine ihtiyaç duyuyorsa, her projeye yapıştırmak yerine bir env grubu kullanın. Orbit öğesine gidin, ardından Env groups öğesine gidin, bir grup oluşturun, değişkenleri ekleyin ve ihtiyaç duyan projeleri bağlayın.
Grup değişkenleri derleme zamanında enjekte edilir ve öncelik sırasının altında yer alır: proje düzeyi ve ortam düzeyi değişkenleri grup değişkenleri üzerinde önceliklidir. Bir hesapta 20'ye kadar grubunuz olabilir.
Bir grubu silmek, bu değişkenleri bağlı olan her projenin gelecekteki derlemelerinden kaldırır. Zaten tamamlanmış derlemeler etkilenmez.
Toplu Olarak İçe Aktarma
Import .env düğmesi bir yapıştırma kutusu açar. Bir .env dosyasını yapıştırın, bir kapsam seçin ve Orbit kaç değişken bulduğunu ve kaç tanesini gizli olarak işaretleyeceğini raporlar. SECRET, TOKEN, KEY, PASSWORD ve benzeri terimler içeren anahtarlar otomatik olarak işaretlenir. Overwrite existing variables with the same key seçeneği varsayılan olarak kapalıdır.
Download .env, bir meslektaşınızla paylaşmak için yalnızca değişken names içeren bir şablon üretir, değeri yoktur.
İçe aktarma iletişim kutusunda, İçe aktar'a tıklamadan önce kapsamı seçin, sonrasında değil. Tüm bir üretim .env öğesini proje genelinde kapsamda içe aktarmak, tek bir işlemde her üretim kimlik bilgisini ön izleme derlemelerinize iter ve düzeltme, ayarı değiştirmek değil, silip yeniden eklemektir.
Bir Derlemenin Gerçekte Aldığını Doğrulama
Her dağıtımın ayrıntı sayfası derleme zamanında enjekte edilen ortam değişkeni keys listesini içerir ve bunları geçerli yapılandırmanıza karşı denetler: eklenen, değiştirilen, kaldırılan, değişmemiş. Turkuaz anahtarlar ortama özel bir geçersiz kılmadan, gri olanlar proje düzeyinden gelir.
Değerler asla depolanmaz veya gösterilmez. Bir anahtarın üzerine gelindiğinde, iki ortamın aynı değeri tuttuğunu doğrulamak için yeterli olan SHA-256 parmak izi elde edersiniz.
Yapılandırma bu dağıtım oluşturulduktan sonra değiştirilirse, sayfa bir Environment variables updated since this deployment notu ile bunu söyler ve değişikliğin yeniden dağıtana kadar geçerli olmayacağını hatırlatır.
Değişken değişiklikleri hiçbir zaman zaten canlı olan dağıtıma uygulanmaz. Bir derleme çalışırken enjekte edilirler. Uygulamanızın bağlı olduğu bir şeyi değiştirdikten sonra yeniden dağıtın.
İlgili Okuma
- Environment Variables temeller, gizli diziler ve çerçeve önek kuralları için
- Branch Preview Deployments in Orbit halka açık ön izlemelerin nasıl çalıştığı için
- Viewing Build Logs derleme zamanı değişkeni farkı için