Orchard deployment frissítése
Azt már tárgyaltuk, hogy mi egy bevált módja az Orchard szolúció új Orchard verzióra való frissítésének. Na de mi van, ha mindezeket a változtatásokkal (vagy akármilyen saját kódban, témában vagy modulban történt módosításokkal) frissíteni szeretnénk a szerveren futó, működő Orchard telepítésünket? Nos mi az alábbi procedúrát alkalmazzuk, bár elképzelhető, hogy azért mégsem ez az Egy Igaz Út. Kezdés előtt fontos megjegyezni, hogy mi SQL Server Compact Editiont használunk, azaz az adatbázis egy fájl az App_Data-ban.
- Lokálisan megvan minden kódot érintő módosításunk, letesztelve egy viszonylag friss adatbázis-verzióval.
- Az App_Offline.htm-mel leállítjuk a nyilvános oldalt.
- A tárhelyről letükrözzük localba az App_Data/Sites és a Media mappát, valamint, ha azon is változtattunk a szerver konfigurációinak módosításával, a Web.config fájlt is. (Mi a saját beállítások nagy részét a Web.Release.config-ban tartjuk, így abba kell belemásolni, ami a szerveren lévő Web.configban módosult.)
- Localban lefuttatjuk az összes frissítést, amennyiben erre szükség van, azaz fejlesztettünk valami olyat, ami frissítéskor módosít az adatbázis-sémán (migrációk).
- Természetesen ellenőrizzük, hogy minden rendben van-e localban.
- Ha igen, akkor publish a szerverre.
- Amennyiben egy Orchard verziót frissítettünk, lehetséges, hogy a csomagban lévő külső könyvtárak is frissültek. Ettől egy Orchard telepítés elhasalhat, lásd ezt a bugreportot. A biztonság kedvéért minden környezetben (lokálisan, a szerveren) töröljük az App_Data/Dependencies mappát!
- App_Offline deaktiválása (törlés/átnevezés) a szerveren, így az oldalunk újra futni fog.
Ajánlott éles környezetben minden fejlesztői modult (pl. Shape Tracer, Mini Profiler) kikapcsolni, míg vannak olyan modulok is, amik fölöslegesek fejlesztői környezetben (pl. Combinator). A Module Profiles nevű modulunkkal ilyen modulkonfigurációkat lehet létrehozni és az adminfelületről egy kattintással aktiválni.