kategóriák

Utolsó frissítés 09.március 2020

egyetlen alkalmazás mindig több környezetben fut, beleértve legalább a fejlesztőgépén és a Heroku-n történő gyártást is. Egy nyílt forráskódú alkalmazás több száz különböző környezetbe telepíthető.

bár ezek a környezetek ugyanazt a kódot futtathatják, általában környezetspecifikus konfigurációkkal rendelkeznek. Például egy alkalmazás átmeneti és termelési környezetei különböző Amazon S3 kanalakot használhatnak, ami azt jelenti, hogy más hitelesítő adatokra is szükségük van ezekhez a kanalakhoz.

az alkalmazás környezetspecifikus konfigurációját a környezeti változókban kell tárolni (nem az alkalmazás forráskódjában). Ez lehetővé teszi az egyes környezetek konfigurációjának külön-külön történő módosítását, és megakadályozza a biztonságos hitelesítő adatok tárolását a verziókezelésben. További információ a config környezetben történő tárolásáról.

hagyományos gazdagépen vagy helyi munka közben gyakran környezeti változókat állít be a .bashrc fájlban. A Heroku, akkor használja config vars.

Config vars kezelése

amikor beállítja vagy eltávolítja a config var-t bármilyen módszerrel, az alkalmazás újraindul, és egy új kiadás jön létre.

a Config var értékek állandóak–a telepítések és az alkalmazás újraindítása során a helyükön maradnak. Hacsak nem kell módosítania egy értéket, csak egyszer kell beállítania.

a Heroku CLI használata

a Heroku CLI heroku config parancsai megkönnyítik az alkalmazás konfigurációs varjainak kezelését.

aktuális konfigurációs var értékek megtekintése

$ heroku configGITHUB_USERNAME: joesmithOTHER_VAR: production$ heroku config:get GITHUB_USERNAMEjoesmith

konfigurációs var beállítása

$ heroku config:set GITHUB_USERNAME=joesmithAdding config vars and restarting myapp... done, v12GITHUB_USERNAME: joesmith

konfigurációs var eltávolítása

$ heroku config:unset GITHUB_USERNAMEUnsetting GITHUB_USERNAME and restarting myapp... done, v13

a Heroku Irányítópult használatával

a konfigurációs változókat Az alkalmazás Settings lapjáról is szerkesztheti a Heroku irányítópulton:

Config Vars az irányítópulton

a Platform API használata

az alkalmazás konfigurációs varjait programozottan kezelheti a Heroku Platform API segítségével egy egyszerű HTTPS REST kliens és JSON adatstruktúrák segítségével. Szüksége van egy érvényes Heroku hozzáférési token képviselő felhasználó megfelelő engedélyekkel az app.

hozzáférés config var értékeket kód

Config vars vannak kitéve az alkalmazás kódját környezeti változók. Például a csomópontban.js elérheti az alkalmazás DATABASE_URL config var process.env.DATABASE_URL.

példák

adjon hozzá néhány konfigurációs varot az S3 fiók kulcsaihoz:

$ cd myapp$ heroku config:set S3_KEY=8N029N81 S3_SECRET=9s83109d3+583493190Setting config vars and restarting myapp... done, v14S3_KEY: 8N029N81S3_SECRET: 9s83109d3+583493190

állítsa be a kódot, hogy olvassa el a vars futás közben. Például a Ruby-ban a környezeti változókat a ENV mintával érheti el – így most írhat egy ilyen inicializálót:

AWS::S3::Base.establish_connection!( :access_key_id => ENV, :secret_access_key => ENV)

a csomópontban.js, használja a process.env értéket a környezeti változók eléréséhez:

const aws = require('aws-sdk');let s3 = new aws.S3({ accessKeyId: process.env.S3_KEY, secretAccessKey: process.env.S3_SECRET});

a Java-ban a System.getenv('key') hívásokon keresztül érheti el, így:

S3Handler = new S3Handler(System.getenv("S3_KEY"), System.getenv("S3_SECRET"))

Pythonban, a boto könyvtár használatával:

from boto.s3.connection import S3Connections3 = S3Connection(os.environ, os.environ)

Most, miután telepítette a Heroku-t, az alkalmazás a konfigurációban beállított kulcsokat fogja használni.

Config var házirendek

  • a Config var kulcsoknak csak alfanumerikus karaktereket és az aláhúzás karaktert (_) kell használniuk annak biztosítása érdekében, hogy minden programozási nyelvről elérhetők legyenek. A Config var kulcsok nem tartalmazhatnak kötőjelet.
  • a Config var adatok (az összes kulcs és érték kombinációja) nem haladhatják meg a 32kB-ot az egyes alkalmazásoknál.
  • a konfigurációs var kulcsok nem kezdődhetnek dupla aláhúzással (__).
  • a config var kulcsának nem szabad HEROKU_ – val kezdődnie, hacsak nem maga a Heroku platform állítja be.

Add-ons and config vars

ha bővítményt biztosít az alkalmazásához, általában egy vagy több config varot ad hozzá az alkalmazáshoz. Ezeknek a konfigurációs változóknak az értékeit a kiegészítő Szolgáltató bármikor frissítheti.

lásd: a Bővítmények értékei változhatnak, ha többet szeretne megtudni a bővítményekről és arról, hogyan használják a konfigurációs változókat.

helyi beállítás

használja a Heroku helyi parancssori eszközt az alkalmazás helyi futtatásához.

gyártási és fejlesztési módok

számos nyelv és keretrendszer támogatja a fejlesztési módot. Ez általában több hibakeresést, valamint a megváltozott forrásfájlok dinamikus újratöltését vagy újrafordítását teszi lehetővé.

Ruby környezetben például beállíthat egy RACK_ENV konfigurációs var értéket development értékre egy ilyen mód engedélyezéséhez.

fontos megérteni és nyomon követni ezeket a konfigurációs varokat egy termelési Heroku alkalmazásban. Míg a fejlesztési mód általában nagyszerű a fejlesztéshez, a termeléshez nem olyan nagyszerű, mert ronthatja a teljesítményt.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.