Categorii

Ultima actualizare 09 martie 2020

o singură aplicație rulează întotdeauna în mai multe medii, inclusiv cel puțin pe mașina dvs. de dezvoltare și în producție pe Heroku. O aplicație open-source ar putea fi implementată în sute de medii diferite.

deși aceste medii ar putea rula toate același cod, ele au de obicei configurații specifice mediului. De exemplu, mediile de așteptare și de producție ale unei aplicații ar putea utiliza diferite găleți Amazon S3, ceea ce înseamnă că au nevoie și de acreditări diferite pentru acele găleți.

configurația specifică mediului unei aplicații trebuie stocată în variabile de mediu (nu în codul sursă al aplicației). Acest lucru vă permite să modificați configurația fiecărui mediu în mod izolat și împiedică stocarea acreditărilor sigure în controlul versiunii. Aflați mai multe despre stocarea configurării în mediu.

pe o gazdă tradițională sau când lucrați local, setați adesea variabile de mediu în fișierul .bashrc. Pe Heroku, utilizați Config vars.

gestionarea var-urilor de configurare

ori de câte ori setați sau eliminați un var de configurare folosind orice metodă, aplicația dvs. este repornită și este creată o nouă versiune.

Config var valorile sunt persistente–ele rămân în loc peste implementări și repornește app. Dacă nu trebuie să modificați o valoare, trebuie să o setați o singură dată.

utilizarea Heroku CLI

comenzile heroku config ale Heroku CLI facilitează gestionarea setărilor de configurare ale aplicației.

vizualizați valorile curente de configurare var

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

setați o configurare var

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

eliminați o configurare var

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

folosind tabloul de bord Heroku

puteți edita, de asemenea, VAR-urile de configurare din fila Settings a aplicației dvs. din tabloul de bord Heroku:

configurați VAR-urile în tabloul de bord

folosind API-ul platformei

puteți gestiona programatic VAR-urile de configurare ale aplicației dvs. cu API-ul platformei Heroku folosind un simplu client https REST și structuri de date JSON. Aveți nevoie de un simbol de acces Heroku valid care să reprezinte un utilizator cu permisiuni adecvate pentru aplicație.

accesarea valorilor de configurare var din Codul

VAR-urile de configurare sunt expuse codului aplicației dvs. ca variabile de mediu. De exemplu, în nod.js puteți accesa aplicația DATABASE_URL Config var cu process.env.DATABASE_URL.

Exemple

adăugați câteva VAR-uri de configurare pentru cheile contului S3:

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

Configurați-vă codul pentru a citi VAR-urile în timpul rulării. De exemplu, în Ruby accesați variabilele de mediu folosind modelul ENV – deci acum Puteți scrie un inițializator ca acesta:

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

în nod.js, utilizați process.env pentru a accesa variabilele de mediu:

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

în Java, îl puteți accesa prin apeluri către System.getenv('key'), așa:

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

în Python, folosind biblioteca boto:

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

acum, la implementarea la Heroku, aplicația va folosi tastele stabilite în config.

Config var politici

  • Config var chei ar trebui să utilizeze numai caractere alfanumerice și caracterul de subliniere (_) pentru a se asigura că acestea sunt accesibile din toate limbajele de programare. Tastele Config var nu trebuie să includă caracterul cratimă.
  • Config var date (combinația dintre toate tastele și valorile) nu poate depăși 32kb pentru fiecare aplicație.
  • Config var chei nu ar trebui să înceapă cu un dublu subliniere (__).
  • o cheie de configurare var nu ar trebui să înceapă cu HEROKU_ decât dacă este setată de platforma Heroku în sine.

Suplimente și VAR-uri de configurare

dacă furnizați un add-on pentru aplicația dvs., acesta adaugă de obicei unul sau mai multe VAR-uri de configurare la aplicație. Valorile acestor VAR-uri de configurare pot fi actualizate de către furnizorul de add-on în orice moment.

vezi Add-on valorile se pot schimba pentru a afla mai multe despre add-on-uri și modul în care acestea utilizează var-uri de configurare.

configurare locală

utilizați instrumentul de linie de comandă locală Heroku pentru a rula aplicația la nivel local.

moduri de producție și dezvoltare

multe limbi și cadre acceptă un mod de dezvoltare. Acest lucru permite de obicei mai multe depanare, precum și reîncărcarea dinamică sau recompilarea fișierelor sursă modificate.

de exemplu, într-un mediu Ruby, puteți seta un RACK_ENV Config var la development pentru a activa un astfel de mod.

este important să înțelegeți și să urmăriți aceste VAR-uri de configurare pe o aplicație Heroku de producție. În timp ce un mod de dezvoltare este de obicei excelent pentru dezvoltare, nu este atât de grozav pentru producție, deoarece poate degrada performanța.

Lasă un răspuns

Adresa ta de email nu va fi publicată.