Umgebungsvariablen
Möglicherweise möchtest du Umgebungsvariablen, welche beispielsweise Datenbank-Credentials beinhalten, setzen. Diese werden dann an die Applikation zur Laufzeit weitergegeben.
Umgebungsvariablen beim Erstellen einer App setzen
Jede Deploio-App erhält automatisch die folgenden Umgebungsvariablen:
| Variable | Beschreibung | Build-Zeit | Laufzeit |
|---|---|---|---|
PORT | Der Port, auf dem deine App erreichbar ist. | — | ✓ |
DEPLOIO_APP_NAME | Der Name deiner Anwendung. | — | ✓ |
DEPLOIO_PROJECT_NAME | Der Name des Projekts, zu dem deine App gehört. | — | ✓ |
DEPLOIO_RELEASE_NAME | Der Name des aktuell aktiven Releases. | — | ✓ |
DEPLOIO_GIT_REVISION | Die Git-Revision (Commit-SHA) des deployten Quellcodes. | ✓ | ✓ |
Bei Dockerfile Builds müssen Variablen, welche zur Build Zeit verfügbar sein sollen, als
ARG im Dockerfile deklariert werden.
Weitere Details findest du unter Dockerfile Build.
Umgebungsvariablen bei Applikationserstellung setzen
Du kannst Umgebungsvariablen bei der Applikationserstellung mittels des --env-
Flags definieren:
--env=KEY=VALUE;... Environment variables which are passed to the app at runtime.
$ nctl create app rails-example --env=RAILS_ENV=dev
Mehrere Umgebungsvariablen können dabei durch vielfaches Setzen der --env-
Option oder durch Abtrennung mittels Semikola definiert werden.
$ nctl create app rails-example --env=RAILS_ENV=dev --env=MAIL_USERNAME=test
$ nctl create app rails-example --env='RAILS_ENV=dev;MAIL_USERNAME=test'
Aktualisieren von Umgebungsvariablen
Bei bestehenden Deploio-Applikationen kannst du mittels nctl update app neue
Umgebungsvariablen hinzufügen oder bereits bestehende ändern.
$ nctl update app rails-example --env=RAILS_ENV=prod
Um Umgebungsvariablen zu löschen, kannst du das --delete-env-Flag nutzen.
$ nctl update app rails-example --delete-env=RAILS_ENV
Umgebungsvariablen anzeigen
Um die gesetzten Umgebungsvariablen anzuzeigen, kannst du den nctl get app-
Befehl mit dem yaml-Ausgabeformat nutzen.
$ nctl get app rails-examle -o yaml
kind: Application
apiVersion: apps.nine.ch/v1alpha1
metadata:
name: rails-example
...
spec:
forProvider:
config:
env:
- name: MAIL_USERNAME
value: test
...