Umgebungsvariablen

Umgebungsvariablen sind nützlich, um deine Anwendung mit Informationen von außerhalb der Anwendung zu versorgen. Sie werden normalerweise verwendet, um Dinge wie Datenbankverbindungsdetails und API-Schlüssel festzulegen.

Umgebungsvariablen für deine Anwendung.
Umgebungsvariablen für deine Anwendung.

Sonderzeichen in Umgebungsvariablen

In den Schlüsseln der Umgebungsvariablen kannst du nur a-z, 0-9 oder den Unterstrich (_) verwenden. Die Werte der Umgebungsvariablen werden wörtlich übernommen, mit Ausnahme von Klammern, Kommas und doppelten Anführungszeichen.

Klammern

Klammern können dazu führen, dass der Build- und Rollout-Prozess fehlschlägt. Sie können nicht in Umgebungsvariablen verwendet werden.

Kommata

Nicht umgeschriebene Kommata werden als Begrenzungszeichen interpretiert und können nicht in Umgebungsvariablen verwendet werden.

  • Zum Beispiel: write_stock,read_orders führt dazu, dass der Rollout-Prozess fehlschlägt.
  • Um ein Komma innerhalb eines Strings zu behalten, entferne es mit einem Backslash (\) wie: write_stock\,read_orders — was zu write_stock,read_orders wird.

Doppelte Anführungszeichen

Nicht umgeschriebene Anführungszeichen werden entweder nicht beachtet oder führen dazu, dass der Rollout-Prozess fehlschlägt.

  • Zum Beispiel, "my_example_variable" wird umgesetzt als my_example_variable.
  • Um doppelte Anführungszeichen um eine Variable herum beizubehalten, musst du sie mit einem Backslash (\) wie: \"my_example_var\" versehen — das sieht dann so aus "my_example_var".
  • Wenn doppelte Anführungszeichen in einem String stehen (z.B. my_exampl "e_text), schlägt der Rollout-Prozess fehl.
  • Um doppelte Anführungszeichen innerhalb eines Strings zu behalten, entferne sie mit einem Backslash (\) so wie: my_examp\"le_var — was als my_examp"le_var angegeben wird.

Base64-kodierte Variablen

Wenn Ihre Umgebungsvariable Base64-kodiert ist und Sie Probleme haben (z.B. 500 Fehler im Browser, Build-Fehler, Laufzeitfehler usw.), versuchen Sie, den Wert der Variable in einfache Anführungszeichen zu setzen.

In den Anwendungsdetails

Um beim Hinzufügen deiner Anwendung Umgebungsvariablen hinzuzufügen, erweitere den Abschnitt Umgebungsvariablen, gib die Schlüssel-Wert-Paare ein und wähle aus, ob die Variablen während der Laufzeit und/oder des Build-Prozesses verfügbar sein sollen.

Füge Details zur Anwendung hinzu.
Füge Details zur Anwendung hinzu.

Nach der Bereitstellung

Um nach der Bereitstellung Umgebungsvariablen hinzuzufügen, gehe auf die Seite Einstellungen deiner Anwendung, scrolle zum Abschnitt Umgebungsvariablen und klicke auf Umgebungsvariable hinzufügen. Füge die Schlüssel-Wert-Paare im Modal/Pop-up-Fenster Umgebungsvariable hinzufügen hinzu und wähle aus, ob die Variablen während der Laufzeit und/oder des Build-Prozesses verfügbar sein sollen. Klicke auf Änderungenbereitstellen, um deine Variable(n) hinzuzufügen und die Anwendung automatisch neu bereitzustellen.

Bearbeiten von Umgebungsvariablen

Du kannst Variablennamen („Keys“) oder -werte auf der Seite Einstellungen bearbeiten. Um eine Variable zu bearbeiten, klicke auf das Symbol Bearbeiten („Stift“), nimm deine Änderungen vor und klicke auf Änderungenbereitstellen, um deine Variable(n) zu aktualisieren und die Anwendung automatisch neu bereitzustellen.

Wenn du eine interne Verbindung erstellst und das Kontrollkästchen Umgebungsvariablen hinzufügen… aktivierst, werden die Variablennamen („Keys“) automatisch erstellt. Manche Anwendungen erwarten möglicherweise Umgebungsvariablen mit anderen Namen. Wenn du z. B. eine Datenbank mit Laravel verwenden willst, enthält die Datei database.php andere Variablennamen als die, die in MyKinsta automatisch erstellt werden. Um die in der Anwendung definierten Variablennamen zu verwenden, bearbeite jede Variable nach Bedarf und ändere den Key so, dass er dem in der Datei database.php definierten entspricht.

Verwendung von Umgebungsvariablen

Wie du Umgebungsvariablen verwendest, hängt von deiner Anwendung ab. In Node kannst du zum Beispiel mit process.env.API_KEY auf eine Variable namens API_KEY zugreifen. In PHP würdest du getenv('API_KEY') verwenden.

Interne Verbindungen und der Erstellungsprozess

Interne Verbindungen sind nur während der Laufzeit verfügbar; während des Build-Prozesses sind sie nicht verfügbar.

Wenn deine Anwendung versucht, sich während des Build-Prozesses über eine interne Verbindung mit einer Datenbank zu verbinden, führt dies zu einer Fehlermeldung, die besagt, dass die Datenbank nicht läuft, wodurch der Build fehlschlägt. Das ist zu erwarten, weil die interne Verbindung während des Builds nicht aktiv ist; sie kann nur während der Laufzeit verwendet werden.

Es gibt mehrere Möglichkeiten, dieses Problem zu umgehen.

Option 1: Verschiebe die Logik, die die Verbindung zur Datenbank herstellt, vom Build-Befehl der Anwendung zum Start-Befehl. Wenn du z. B. einen Befehl wie prisma migrate im Build-Prozess hast und diesen Befehl in den Startbefehl verschiebst, greift deine Anwendung nur während der Laufzeit auf die Datenbank zu und der Build wird erfolgreich sein.

Option 2: Füge je nach Bedarf separate Umgebungsvariablen für die Datenbankverbindung hinzu, von denen eine für den Build-Prozess und die andere nur für die Laufzeit verfügbar ist. Die Schlüssel können gleich sein (z.B. DB_CONNECTION_URL), solange eine nur während des Build-Prozesses und die andere nur während der Laufzeit verfügbar ist. Verwende die Details zur externen Verbindung der Datenbank (Datenbanken > dbname > Info > Externe Verbindungen) für die Werte der Variablen, die im Erstellungsprozess verwendet werden sollen.

Von Kinsta gesetzte Umgebungsvariablen

Kinsta stellt immer PORT als den vom Webserver verwendeten Port ein. Wenn du möchtest, dass deine Anwendung mit dem Webserver interagiert, musst du diese Umgebungsvariable verwenden. In Node würdest du zum Beispiel so einen Server starten:

app.listen(process.env.PORT, () => {
console.log("Weather server is up and running")
})

Von Kinsta nicht gesetzte Umgebungsvariablen

Standardmäßig ist die Umgebungsvariable NODE_ENV für Node.js-Anwendungen nicht auf Produktion gesetzt; du musst diese Umgebungsvariable manuell hinzufügen.

Beispiele für die Umgebungsvariablensprache

Wie du Umgebungsvariablen verwendest, hängt von deiner Anwendung ab. Die folgende Tabelle zeigt, wie eine Umgebungsvariable namens API_KEY in verschiedenen Sprachen aufgerufen werden kann:

SpracheCode
RubyENV["API_KEY"]
Node.jsprocess.env.API_KEY;
Pythonos.environ.get('API_KEY')
JavaSystem.getenv("API_KEY");
ScalaSystem.getenv("API_KEY");
PHPgetenv('API_KEY');
Goos.Getenv("API_KEY")

 

War dieser Artikel hilfreich?