Kategorie

Poslední aktualizace Březen 09, 2020

jediné aplikace vždy běží v různých prostředích, včetně alespoň na vývoji stroje a výroby na Heroku. Aplikace s otevřeným zdrojovým kódem může být nasazena do stovek různých prostředí.

ačkoli všechna tato prostředí mohou spouštět stejný kód, obvykle mají konfigurace specifické pro prostředí. Například pracovní a produkční prostředí aplikace může používat různé kbelíky Amazon S3, což znamená, že pro tyto kbelíky také potřebují různá pověření.

konfigurace specifická pro prostředí aplikace by měla být uložena v proměnných prostředí(nikoli ve zdrojovém kódu aplikace). To vám umožní izolovaně upravovat konfiguraci každého prostředí a zabraňuje ukládání zabezpečených přihlašovacích údajů do správy verzí. Další informace o ukládání config v prostředí.

na tradičním hostiteli nebo při lokální práci často nastavujete proměnné prostředí v souboru .bashrc. Na Heroku používáte config vars.

Správa konfiguračních Varů

kdykoli nastavíte nebo odeberete konfigurační var pomocí jakékoli metody, aplikace se restartuje a vytvoří se nová verze.

Config var hodnoty jsou trvalé-zůstávají na svém místě přes nasazení a app restartuje. Pokud nepotřebujete změnit hodnotu, stačí ji nastavit pouze jednou.

pomocí Heroku CLI

heroku config příkazy Heroku CLI usnadňuje správu konfiguračních Varů vaší aplikace.

Zobrazit aktuální config hodnot var

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

Nastavit config var

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

Odstranit config var

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

Pomocí Heroku Dashboard

můžete také upravit config vars z vaší aplikace Settings karta v Heroku Dashboard:

Config Vars v palubní Desce

Pomocí Platformy API

můžete spravovat své aplikace config vars programově s Heroku Platforma API pomocí jednoduchého HTTPS REST client a JSON datové struktury. Potřebujete platný přístupový token Heroku představující uživatele se správnými oprávněními k aplikaci.

přístup k hodnotám config var z kódu

Config vars jsou vystaveny kódu vaší aplikace jako proměnné prostředí. Například v uzlu.js můžete přistupovat k vaší aplikaci DATABASE_URL config var s process.env.DATABASE_URL.

Příklady

Přidat nějaký config vars pro S3 účtu klíče:

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

Nastavte si kód přečíst vars za běhu. Například v Ruby přistupujete k proměnným prostředí pomocí vzoru ENV – takže nyní můžete napsat inicializátor takto:

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

v uzlu.js, použijte process.env pro přístup k proměnným prostředí:

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

V jazyce Java, můžete přistupovat prostřednictvím výzev k System.getenv('key'), tak jako:

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

V Pythonu pomocí knihovny boto:

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

Nyní, po nasazení na Heroku, aplikace bude používat klíče nastavit v config.

Config var policies

  • Config var keys by měly používat pouze alfanumerické znaky a znak podtržítka (_), aby byly přístupné ze všech programovacích jazyků. Config var klíče by neměly obsahovat spojovník znak.
  • Config var data (kombinace všech klíčů a hodnot) nesmí překročit 32 kB pro každou aplikaci.
  • Config var klíče by neměly začínat dvojitým podtržítkem (__).
  • klíč config var by neměl začínat HEROKU_, pokud není nastaven samotnou platformou Heroku.

Add-ons, a config vars

Pokud poskytování add-on pro vaše aplikace, obvykle se přidává jeden nebo více config vars do aplikace. Hodnoty těchto konfiguračních Varů může poskytovatel doplňků kdykoli aktualizovat.

viz hodnoty doplňků se mohou změnit, abyste se dozvěděli více o doplňcích a o tom, jak používají konfigurační vary.

Místní nastavení

pro místní spuštění aplikace použijte nástroj místního příkazového řádku Heroku.

režimy výroby a vývoje

mnoho jazyků a rámců podporuje vývojový režim. To obvykle umožňuje více ladění, stejně jako dynamické překládání nebo rekompilace změněných zdrojových souborů.

například v prostředí Ruby můžete nastavit RACK_ENV config var na development pro povolení takového režimu.

je důležité pochopit a sledovat tyto konfigurační Vary na produkční Heroku aplikaci. Zatímco vývojový režim je obvykle skvělý pro vývoj, není to tak skvělé pro výrobu, protože může snížit výkon.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.