Orbit

Omgevingsvariabelen per omgeving instellen

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 laat je precies bepalen welke builds welke omgevingsvariabelen zien, zodat productiegegevens nooit in een openbaar bereikbare branchpreview terechtkomen. Deze handleiding behandelt hoe scoping en prioriteit werken, hoe je een variabele alleen voor productie toevoegt, hoe erfenis in staging werkt, en hoe je verifieert wat een build werkelijk heeft ontvangen.

Waarom Dit Belangrijk Is

Een branchpreview krijgt een openbare URL. Iedereen met de link kan deze laden. Als een variabele aan alle omgevingen is gekoppeld, wordt deze in de build van die preview geïnjecteerd, en wat de preview ermee doet, doet het met je productiereferenties.

Dit is de hele reden waarom deze pagina bestaat. Alles hieronder dient één regel: productiegeheimen horen in productieomvang, en nergens anders.

Hoe Scoping Werkt

Elke variabele heeft een omvang die bepaalt wanneer deze tijdens het bouwen wordt geïnjecteerd.

OmvangGeïnjecteerd in
Alle omgevingen (projectwijd)Elke build van dit project, tenzij je dit beperkt
Een specifieke omgevingsoverschrijvingAlleen builds van die ene omgeving

Wanneer dezelfde sleutel op beide niveaus bestaat, wint de meer specifieke. Een override op omgevingsniveau verslaat een projectwijde variabele met dezelfde sleutel. De pagina Env vars vermeldt dit in de ondertitel van de sectie Alle omgevingen: projectwijde variabelen zijn beschikbaar in elke build, en overrides op omgevingsniveau hebben voorrang.

Projectwijde variabelen kunnen ook worden beperkt zonder een override te worden. Het besturingselement Available in biedt drie omgevingstypes (production, staging, preview) en je kunt elk daarvan deselecteren.

Een Variabele Met een Omvang Toevoegen

  1. Open je project in Orbit en klik op het tabblad Env vars.
  2. Scroll naar het formulier Add variable onderaan.
  3. Vul de KEY en de value in.
  4. Gebruik het vervolgkeuzemenu Scope:
    • All environments (project-wide) injecteert het in elke build.
    • [Environment name] only ([type] override) beperkt het tot die ene omgeving.
  5. Als je projectwijd hebt gekozen, gebruik je de knoppen Available in om omgevingstypes af te selecteren die deze variabele niet mag bereiken.
  6. Vink Mark as secret aan voor alles wat gevoelig is.
  7. Klik op Add.

Voordat je commit, vertelt het formulier je wat het gaat doen. Een override toont een melding dat het alleen van toepassing is op de builds van die omgeving en dat projectwijde variabelen elders nog steeds van toepassing zijn. Een beperkte projectwijde variabele toont precies welke omgevingstypes deze zal worden geïnjecteerd.

Een Variabele Alleen Voor Productie Toevoegen

Twee gelijkwaardige routes:

  • Kies in het vervolgkeuzemenu Scope je productieomgeving (deze heeft een groen production badge), of
  • Houd de omvang als All environments en deselecteer staging en preview onder Available in.

In beide gevallen is de variabele afwezig wanneer een preview of een stagingbuild wordt uitgevoerd.

"Afwezig" betekent afwezig, niet leeg. Code die process.env.STRIPE_SECRET_KEY in een previewbuild leest, krijgt undefined, en afhankelijk van hoe het is geschreven, kan dit bij het bouwen een uitzondering veroorzaken of, erger nog, stil een verkeerde tak inslaan. Geef previews een testmodewaarde in plaats van geen waarde.

Het Veilige Patroon

Het patroon dat dit netjes voor de meeste projecten oplost:

  1. Voeg de productiereferentie toe, gekoppeld aan alleen de productieomgeving.
  2. Voeg een variabele toe met dezelfde sleutel, met een test- of sandboxwaarde, op projectwijde omvang.

Productiebuilds krijgen de productiegeïnjecteerde waarde omdat de meer specifieke omvang wint. Previews en staging krijgen de testwaarde. Niets is ergens ongedefinieerd, en geen productiereferentie bereikt ooit een preview.

Pas het toe op:

  • Productiedatabase-URL's
  • Geheime sleutels van betalingsproviders, waarbij testsleutels van de provider voor previews worden gebruikt
  • E-mailverstuurssleutels, zodat een preview geen echte klanten kan mailen
  • Beheerderstokens en ondertekeningsgeheimen
  • Alles met kosten per oproep

Productievariabelen in Staging Overnemen

Als je stagingomgeving dicht bij productie ligt en je alleen een paar waarden wilt overschrijven, hoef je niet alles te dupliceren.

Zoek in Settings naar Staging: environment variables en zet Inherit production env vars aan. Productievariabelen worden vervolgens samengevoegd in stagingbuilds op lagere prioriteit dan stagingspecifieke overrides, dus alles wat je expliciet op staging instelt, wint nog steeds.

Erfenis kopieert productiewaarden naar stagingbuilds, inclusief productiegeheimen. Zet het alleen aan als je stagingomgeving is beveiligd. Staging ondersteunt zowel een wachtwoord als een IP-allowlist, in de secties Staging: access protection en Staging: IP allowlist van Settings. Het aanzetten van erfenis voor een onbeveiligde stagingomgeving herschept precies de blootstelling waar deze pagina over gaat.

Bestaande Variabelen Weergeven en Bewerken

Het tabblad Env vars groepeert variabelen in:

  • All environments bovenaan, met projectwijde variabelen
  • Een inklapbare sectie per omgeving, met de overrides van die omgeving en een telling van hoeveel

Daarboven staat een zoekvak en een filter Secrets only.

De badges naast elke variabelenaam tonen welke omgevingstypes het bereikt. Een variabele met production en preview maar niet staging ontbreekt in stagingbuilds, en die badgerij is de snelste manier om een lange lijst te controleren.

Klik op het bewerkingspictogram om een waarde te wijzigen. De huidige waarde van een geheime variabele kan niet worden onthuld, alleen vervangen.

Kopiëren en Vergelijken Tussen Omgevingen

Copy variables between environments kopieert een hele set van het ene bereik naar het andere. Kies een From en een To, vink optioneel Overwrite variables that already exist in the target aan, en klik op Preview om te zien hoeveel worden toegevoegd, bijgewerkt en overgeslagen voordat je commit.

De pagina Env sync check vergelijkt productie en staging sleutel voor sleutel en rapporteert wat alleen in één bestaat, wat verschillende waarden heeft, en wat overeenkomt. Dit is de juiste eerste halte voor "staging werkt en productie niet" of andersom.

Waarden die verschillen tussen productie en staging is normaal en verwacht voor de meeste geheimen. De synchronisatiepagina zegt dat ook. Wat je zoekt, is een sleutel die in de ene omgeving aanwezig is en in de andere ontbreekt.

Variabelen Projectoverschrijdend Delen

Als meerdere projecten dezelfde referentie nodig hebben, gebruik je een env-groep in plaats van deze in elk project te plakken. Ga naar Orbit, vervolgens Env groups, maak een groep aan, voeg de variabelen toe, en link de projecten die ze nodig hebben.

Groepvariabelen worden tijdens het bouwen geïnjecteerd en bevinden zich onderaan de prioriteitsvolgorde: variabelen op projectniveau en omgevingsniveau hebben beide voorrang op groepvariabelen. Je kunt maximaal 20 groepen op een account hebben.

Het verwijderen van een groep verwijdert die variabelen uit toekomstige builds van elk gekoppeld project. Reeds voltooide builds zijn niet beïnvloed.

In Bulk Importeren

De knop Import .env opent een plakdoos. Plak een .env bestand, kies een omvang, en Orbit rapporteert hoeveel variabelen het heeft gevonden en hoeveel het als geheim zal markeren. Sleutels met SECRET, TOKEN, KEY, PASSWORD en soortgelijke termen worden automatisch gemarkeerd. Er is een optie Overwrite existing variables with the same key, standaard uitgeschakeld.

Download .env produceert een sjabloon van variabele namen alleen, zonder waarden, om met een teamgenoot te delen die hun eigen waarden levert.

Kies de omvang in het importdialoogvenster voordat je op Import klikt, niet erna. Een hele productie .env op projectwijde omvang importeren, pusht elk productiegeheim in één actie naar je previewbuilds, en de oplossing is om ze te verwijderen en opnieuw toe te voegen, niet om een instelling te wijzigen.

Verifieëren Wat een Build Werkelijk Heeft Ontvangen

De detailpagina van elke implementatie vermeldt de sleutels van omgevingsvariabelen die tijdens het bouwen zijn geïnjecteerd en vergelijkt deze met je huidige configuratie: toegevoegd, gewijzigd, verwijderd, ongewijzigd. Tealblauw gekleurde sleutels kwamen uit een override op omgevingsniveau, grijze uit projectniveau.

Waarden worden nooit opgeslagen of weergegeven. Als je een sleutel aanwijst, krijg je een SHA-256-vingerafdruk, wat voldoende is om te bevestigen dat twee omgevingen dezelfde waarde bevatten zonder deze te onthullen.

Als de configuratie na die implementatie is gewijzigd, toont de pagina dit met een melding Environment variables updated since this deployment en herinnert je eraan dat de wijziging niet van kracht wordt totdat je opnieuw implementeert.

Variabelewijzigingen gelden nooit voor de implementatie die al live is. Ze worden geïnjecteerd wanneer een build wordt uitgevoerd. Voer de build opnieuw uit nadat je iets hebt gewijzigd waarvan je app afhankelijk is.

Gerelateerde Informatie

Nog steeds hulp nodig?

Stuur ons een e-mail op support@kapsulehost.com of open een chat in KPanel.

KPanel openen
Omgevingsvariabelen per omgeving instellen