Göm menyn

TDP005 Projekt: Objektorienterat system

Att få portfolion på webben


Att få portfolion på webben..

För att få igång er portfolio så att den ligger igång "permanent" måste ni följa några enkla steg:

OBS: Ersätt liu-id med ert egna LiU-användarnamn i kommandona nedan!

  • Kör kommandot
    sudo gem install rhc
  • Kör kommandot
    rhc setup -l liu-id --server openshift.ida.liu.se

    Välj 'yes' och använd lösenordet till ditt liu-id, samt använd ditt liu-id som namespace

  • Kör kommandot
    rhc create-app portfolio python-3.3
  • Kör kommandot
    cd portfolio
  • Konfigurera setup.py. Lägg till
    install_requires=['Flask'],
  • Commit'a, push'a.
  • Kör kommandot
    rhc show-app portfolio

    Hitta URL'en till er portfolio i utskriften och öppna en webbläsare till den

  • I en ny terminal, kör kommandot
    rhc tail portfolio

    Det här låter er följa fel-loggen på webbservern till er hemsida. Låt den stå igång i en terminal medans ni arbetar vidare!

  • Merga eller kopiera nu in er existerande portfolio i samma katalog. Ni kan göra det genom att direkt git pull'a in ert repo från TDP003 till portfolio-katalogen. Huvudsaken är att er server.py ligger i samma katalog som wsgi.py.
  • Kontrollera så att innehållet i wsgi.py stämmer (Se nedan). Du kan behöva raderna längst ner så de importerar från rätt fil för just er portfolio.
  • Commit'a, push'a, testa om det fungerar i webbläsaren
  • Vid fel, kolla loggen via rhc tail. Ni kan behöva uppdatera er kod att använda openshift-variablerna som anger var ni ska lagra er data och var er kod ligger.
  • Ett potentiellt problem är att teckenkodningen på openshift-systemet kan skilja sig från det ni har lokalt. Ni kan behöva ange hur filerna är encodade när ni öppnar dom, t.ex. med
    open(filename, encoding='utf-8')
    . Det brukar behövas i data.py bland annat, när er JSON-data laddas in.
  • För att uppdatera er portfolio, behöver ni nu bara ändra lokalt, commit'a och push'a. Nice!

wsgi.py

#!/usr/bin/python3
import os

virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/'
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
    with open(virtualenv) as f:
        code = compile(f.read(), virtualenv, 'exec')
        exec(code, global_vars, local_vars)
except IOError:
     pass
#
# IMPORTANT: Put any additional includes below this line.  If placed above this
# line, it's possible required libraries won't be in your searchable path
#

import os
os.chdir(os.environ['OPENSHIFT_REPO_DIR'])

from flask_server import app as application

Sidansvarig: Filip Strömbäck
Senast uppdaterad: 2017-10-09