Ta kratka blog objava ne govori o evropski direktivi glede piškotkov, ampak o nekem pogostem problemu, ki se zgodi pri nalaganju naših spletnih aplikacij na Google App Engine.
Tipičen terminalski ukaz za t.i. deploy naše aplikacije je:
appcfg.py -A myapp123 update ./
Terminal vsi Linux ter Mac OS uporabniki dobro poznate, tisti, ki uporabljate Windows, pa si inštalirajte npr. PowerShell ali pa uporabite kar GIT Shell, če želite aplikacijo deployati prek terminala (shell vedno odprite znotraj mape svoje aplikacije).
appcfg.py
je Python program v GAE SDK, ki nam pomaga pri deploymentu naše aplikacije. -A myapp123
pove, da bomo na GAE naložili aplikacijo z ID-jem myapp123
(ID se nastavi v datoteki app.yaml). Ukaz update
je dosti logičen – naredili bomo update na našem GAE strežniku. Ter čisto zadnji ./
pomeni pot kjer se nahaja naša aplikacija v korelaciji s potjo v terminalu – v tem primeru je pot v terminalu enaka, kot je lokacija našega projekta.
Ponavadi je ta ukaz dovolj, da se naša spletna aplikacija naloži na Google App Engine. Vendar pa včasih dobimo čuden error, ki pravi, da projekta s tem ID-jem ni na GAE. Če smo sigurni, da smo prek Google Cloud Console projekt s tem ID-jem resnično predhodno ustvarili, lahko problem tiči drugje.
Za to, da naložimo svojo aplikacijo na GAE, se v ozadju zgodi postopek avtentikacije. To je seveda logično, saj ne more kar vsakdo naložiti aplikacije na naš GAE account. Za avtentikacijo se uporabljajo t.i. piškotki (cookies), vendar pa če imamo več Googlovih uporabniških računov, se lahko zgodi manjša (ali večja) zmeda s piškotki (vem, zveni kot da bi pisal o problemih v kuhinji). 🙂
Kakor koli že, obstaja preprosta rešitev za to. K zgornjemu ukazu za naložitev naše aplikacije dodamo še eno nastavitev (oz. flag), ki se imenuje --no_cookies
. Naš ukaz nato izgleda tako:
appcfg.py -A myapp123 update ./ --no_cookies
Ta ukaz reši naše težave pri uploadu, ki so povezane s piškotki. Seveda pa to pomeni tudi to, da ko izvedemo ta ukaz, se bo vsakič odprlo okno v našem brskalniku, kjer bomo morali vnesti podatke našega Google računa, kamor bomo uploadali našo aplikacijo. Torej kak korak ali dva več pri deploymentu, vendar če zadeva nato dela, nič hudega. 🙂