Preskočite na sadržaj

Podrška web aplikacija za izvođenje na različitim verzijama platforme

doc. dr. sc. Vedran Miletić, vmiletic@inf.uniri.hr, vedran.miletic.net

Fakultet informatike i digitalnih tehnologija Sveučilišta u Rijeci, akademska 2021./2022. godina


Verzije platforme

Vaša aplikacija eksplicitno podržava samo:

  • one verzije interpretera programskog jezika koje ste eksplicitno testirali,
  • one verzije okvira i biblioteka koje ste eksplicitno testirali,
  • one verzije sustava za upravljanje bazom podataka koje ste eksplicitno testirali,
  • one verzije sustava za predmemoriju koje ste eksplicitno testirali,
  • itd.

Kod Pythona se potrebne verzije modula navode u datoteci requirements.txt (primjer korištenja).


Podrška za više verzija interpretera programskog jezika (1/2)


Podrška za više verzija interpretera programskog jezika (2/2)

  • Potrebno je koristiti isključivo presjek značajki svih podržanih verzija interpretera; provjerite popis promjena u verzijama interpretera, upute za migraciju itd.
    • Ne možete koristiti funkcionalnost koja postoji u starijoj verziji, ali je zastarjela pa je maknuta u novijoj verziji
    • Ne možete koristiti funkcionalnost dodanu u novijoj verziji jer je nema u starijoj
  • Dijelove koda moguće je isprobati u različitim verzijama interpretera na servisima kao što su 3v4l.org (PHP), Coliru (C++) i Godbolt (razni jezici)
    • Ciljano napravljeni da budu neupotrebljivi za velike aplikacije

Podrška za više verzija okvira, biblioteka, sustava za upravljanje bazom podataka, sustava za predmemoriju i ostalih

  1. Postavljanje lokalne okoline za inicijalno isprobavanje koja sadrži željene verzije okvira, biblioteka, sustava za upravljanje bazom podataka, sustava za predmemoriju itd.
  2. Postavljanje iste okoline korištenjem Docker kontejnera ili sl. kako bi bila lako ponovljiva na različitim računalima.
  3. Uključivanje okoline u CI/CD za redovito testiranje i pokretanje programa u navedenoj okolini.

Primjeri CI/CD s više različitih okolina: Buildbot, Grav, Trac, Express i Sphinx.

Za usporedbu, primjeri CI/CD sa samo jednom okolinom: Discourse i Invidious.

Author: Vedran Miletić