Categories

Last updated March 09, 2020

yksi sovellus toimii aina useissa ympäristöissä, mukaan lukien ainakin kehityskoneellasi ja tuotannossa Herokulla. Avoimen lähdekoodin sovellus saatetaan ottaa käyttöön sadoissa eri ympäristöissä.

vaikka nämä ympäristöt saattavat käyttää samaa koodia, niillä on yleensä ympäristökohtaiset konfiguraatiot. Esimerkiksi sovelluksen lavastus-ja tuotantoympäristöissä saatetaan käyttää erilaisia Amazon S3-kauhoja, eli ne tarvitsevat myös erilaisia valtakirjoja näille kauhoille.

sovelluksen ympäristökohtainen kokoonpano tulee tallentaa ympäristömuuttujiin (Ei sovelluksen lähdekoodiin). Näin voit muokata kunkin ympäristön asetuksia erikseen ja estää suojattujen valtakirjojen tallentamisen versionhallintaan. Lisätietoja configin säilyttämisestä ympäristössä.

perinteisellä isännällä tai paikallisesti työskenneltäessä asetat usein ympäristömuuttujia .bashrc – tiedostoosi. Herokulla käytetään config vareja.

Config varsin hallinta

aina kun asetat tai poistat config Varin millä tahansa menetelmällä, sovelluksesi käynnistetään uudelleen ja luodaan uusi julkaisu.

Config var–arvot ovat pysyviä-ne pysyvät paikoillaan koko käyttöönoton ja sovellusten uudelleenkäynnistyksen ajan. Ellei arvoa tarvitse muuttaa, se on asetettava vain kerran.

käyttämällä Heroku CLI

Heroku CLI: n heroku config – komentoja on helppo hallita sovelluksen config vareja.

Näytä nykyiset config var-arvot

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

Aseta config var

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

Poista config var

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

käyttämällä Heroku Dashboard

voit myös muokata config var-asetuksia sovelluksesi Settings – välilehdestä Heroku Dashboard-välilehdessä:

Config Vars Dashboard

Platform API

voit hallita sovelluksen config vars ohjelmallisesti Heroku Platform API: n avulla käyttäen yksinkertaista HTTPS REST-asiakasohjelmaa ja JSON-tietorakenteita. Tarvitset kelvollisen Heroku access Tokenin, joka edustaa käyttäjää, jolla on asianmukaiset oikeudet sovelluksessa.

Config var-arvojen käyttäminen koodista

Config var-arvot altistuvat sovelluksesi koodille ympäristömuuttujina. Esimerkiksi solmussa.js voit käyttää sovelluksen DATABASE_URL config var kanssa process.env.DATABASE_URL.

Examples

Add S3-tiliavaimille joitakin config-vareja:

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

Määritä koodi lukea vars suoritettaessa. Esimerkiksi Rubyssa pääsee ympäristömuuttujiin ENV – kuvion avulla – nyt siis voi kirjoittaa alustajan näin:

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

solmussa.js, käytä process.env ympäristömuuttujien käyttöön:

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

Jaavalla siihen pääsee soittamalla System.getenv('key'), kuten näin:

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

Pythonissa boto-kirjastoa käyttäen:

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

nyt, kun otetaan käyttöön Heroku, sovellus käyttää avaimet asetettu config.

Config var-käytännöt

  • Config var-avaimissa tulisi käyttää vain aakkosnumeerisia merkkejä ja alleviivausmerkkiä (_) sen varmistamiseksi, että ne ovat saatavilla kaikilta ohjelmointikieliltä. Config var-näppäimissä ei saa olla väliviivaa.
  • Config var-tiedot (kaikkien avainten ja arvojen yhdistelmä) eivät saa ylittää 32kb: tä kullekin sovellukselle.
  • Config var-näppäimet eivät saa alkaa kaksinkertaisella alaviivalla (__).
  • config Varin avain ei saa alkaa HEROKU_, ellei Heroku-alusta itse aseta sitä.

Lisäosat ja asetusvarat

jos annat sovelluksellesi lisäosan, se lisää yleensä yhden tai useamman asetusvarauksen sovellukseen. Lisäosan tarjoaja saattaa päivittää näiden asetusasetusten arvot milloin tahansa.

Katso lisäosien arvot voivat muuttua, jotta saat lisätietoja lisäosista ja siitä, miten ne käyttävät asetusasetuksia.

Local setup

käytä Heroku-komentorivityökalua suorittaaksesi sovelluksesi paikallisesti.

tuotanto-ja kehitystavat

monet kielet ja kehykset tukevat kehitystapaa. Tämä mahdollistaa yleensä enemmän virheenkorjausta sekä muuttuneiden lähdetiedostojen dynaamisen uudelleenlatauksen tai uudelleenkompiloinnin.

esimerkiksi Ruby-ympäristössä voi asettaa RACK_ENV config var-arvon development tällaisen tilan mahdollistamiseksi.

on tärkeää ymmärtää ja seurata näitä config vareja production Heroku-sovelluksessa. Vaikka kehitystila on tyypillisesti hyvä kehitykseen, se ei ole niin suuri tuotantoon, koska se voi heikentää suorituskykyä.

Vastaa

Sähköpostiosoitettasi ei julkaista.