Eine sehr gute Möglichkeit, Umgebungsvariablen zu verwenden, die ich erfolgreich verwendet habe, ist unten aufgeführt:
A. Haben Sie verschiedene Konfigurationsdateien :
dev.js // dies enthält alle Umgebungsvariablen nur für die Entwicklung.
Die Datei enthält:
module.exports = {
ENV: 'dev',
someEnvKey1 : 'some DEV Value1',
someEnvKey2 : 'some DEV Value2'
};
stage.js // Dies enthält alle Umgebungsvariablen nur für die Entwicklung
..
qa.js // dies enthält alle Umgebungsvariablen nur zum Testen von qa
Die Datei enthält:
module.exports = {
ENV: 'dev',
someEnvKey1 : 'some QA Value1',
someEnvKey2 : 'some QA Value2'
};
HINWEIS : Die Werte ändern sich meistens mit der Umgebung, aber die Schlüssel bleiben gleich.
du kannst mehr haben
z__prod.js // Dies enthält alle Umgebungsvariablen nur für die Produktion / Live.
HINWEIS: Diese Datei wird niemals für die Bereitstellung gebündelt
Legen Sie alle diese Konfigurationsdateien im Ordner / config / ab
<projectRoot>/config/dev.js
<projectRoot>/config/qa.js
<projectRoot>/config/z__prod.js
<projectRoot>/setenv.js
<projectRoot>/setenv.bat
<projectRoot>/setenv.sh
HINWEIS : Der Name von prod unterscheidet sich von anderen, da er nicht von allen verwendet wird.
B. Legen Sie die Umgebungsvariablen OS / Lambda / AzureFunction / GoogleCloudFunction aus der Konfigurationsdatei fest
Im Idealfall sollten diese Konfigurationsvariablen in der Datei als Umgebungsvariablen des Betriebssystems (oder als LAMBDA-Funktionsvariablen oder Azure-Funktionsvariablen, Google Cloud-Funktionen usw.) verwendet werden.
Also schreiben wir Automatisierung in Windows OS (oder einem anderen)
Angenommen, wir schreiben eine ' setenv' -Fledermausdatei, die ein Argument verwendet, nämlich die Umgebung, die wir festlegen möchten
Führen Sie nun " setenv dev " aus
a) Dies übernimmt die Eingabe von der übergebenen Argumentvariablen ('dev' für jetzt).
b) Lesen Sie die entsprechende Datei ('config \ dev.js').
c) die Umgebungsvariablen unter Windows (oder einem anderen).
Zum Beispiel,
Der Inhalt von setenv.bat könnte sein:
node setenv.js
Der Inhalt von setenv.js könnte sein:
// import "process.env.ENV".js file (dev.js example)
// loop the imported file contents
// set the environment variables in Windows OS (or, Lambda, etc.)
Das ist alles , Ihre Umgebung ist einsatzbereit.
Wenn Sie ' setenv qa ' ausführen , sind alle qa-Umgebungsvariablen für die Verwendung in qa.js bereit und können von demselben Programm verwendet werden (das immer nach process.env.someEnvKey1 fragt, aber der Wert, den es erhält, ist qa eins).
Ich hoffe, das hilft.
fish
anstelle von verwendenbash
, müssen Sie Folgendes verwenden :env USER_ID=239482 my_command
. Zum Festlegen von Umgebungsvariablen für diedebug
Bibliothek von node.js :env DEBUG='*' node some_file.js
fishshell.com/docs/current/faq.html#faq-single-env