Jakub Čermák

Vývojářský blog Jakuba Čermáka

Podle kategorie

Instalace Web Deploy 3.0 na IIS 8

Jakub Čermák       31. 8. 2012             5919 zobrazení

Web Deploy je šikovný nástroj pro tvorbu balíčků na jednoduchou instalaci webových aplikací. Podporuje několik režimů, z nichž nejzajímavější je tvorba balíků, které můžete na serveru několika kliky importovat, případně „one click publish“, kdy se správně nastaveným webovým serverem uděláte deployment pomocí několika málo kliknutí myší přímo z Visual Studia. A jak už to tak bývá, cesta k automatizaci je trnitá. Obzvláště pokud se snažíte použít příliš nové technologie, na které nejsou hezké návody. Proto po mém trápení s instalací jsem se rozhodl, že takový návod sepíšu.

Předem bych chtěl upozornit, že nejsem administrátor a pravděpodobně jsou některé kroky špatně a v praxi se to dělá jinak. Já to potřeboval na to, abych si nastavil „vývojový“ hosting pro sebe a pro předvádění aplikací. Druhak je třeba podotknout, že v průběhu rozchozování této technologie jsem zoufale klikal všude možně, takže je zde nenulová pravděpodobnost, že jsem na nějaký důležitý krok při psaní totoho návodu zapoměl. Kdyžtak to prosím zmiňte v komentářích. Díky.

Takže … jak nainstalovat a nakonfigurovat Web Deploy 3.0 na IIS 8?

Instalace základních součástí

Pomocí Web Platform Installeru nainstalujte následující součásti (samozřejmě včetně jejich prerekvizit):

  • Web Deploy 3.0
  • IIS: Management Service
  • a pravděpodobně také Web Deploy 3.0 For Hosting Servers (bez toho mi to nechodilo)

Dále je třeba doinstalovat chybějící součásti Web Deploy 3.0. Než se mi povedlo objevit tento krok, tak v řece času uběhlo docela dost vody, je to pěkně skryté a neintuitivní. Nechápu, proč se ten WebPI na to prostě nezeptá. Pokud tento krok neuděláte, tak vám bude IISka při pokusu o deploy vracet 404.7. Takže v ovládacím panelu Programs and Features najděte položku Microsoft Web Deploy 3.0 a dejte Change

Po proklikání toho průvodce byste se měli dostat na záložku na následujícím obrázku, kde je potřeba zaškrtnout všechny položky:
clip_image001¨

Následně průvodce doklikejte až na konec

Konfigurace serveru

Dále je třeba nastavit Management Service. Ta se nastavuje v IIS Manager konzoli v sekci Features, když máte rozkliknutý řádek se serverem. Zde je potřeba nejdříve pomocí Stop (vpravo) vypnout tu službu, následně je vám umožněno editovat nastavení té služby. Takže je třeba zapnout Enable remote connections a zbytek nastavit podle svých představ. Já používám následující nastavení:
clip_image003
Po nastavení služby je třeba zvolit Apply a službu zase spustit.

Pokud chcete používat mimo Windows Credentials i speciální Deploy účty (jako já), tak to lze v modulu IIS Manager Users. Zde jde jednoduše vytvářet uživatele, nastavovat jim hesla a povolovat a zakazovat je.

Konfigurace web site / web app

Tím by měla být konfigurace serveru hotová. Následně je třeba nastavit každou site nebo web aplikaci a povolit na ní deploy. Zde jsou dvě možnosti – ta jednodušší, automatická, která funguje jen na web sites, a ta složitější, ruční, která ale funguje i na web aplikace. Začneme tedy tou jednodušší:

V kontextové nabídce dané Web Site (right click myšitkem) jde nalézt položka Deploy\Configure Web Deploy Publishing:

clip_image004

Zde je několik zajímavých položek. Začněme hned tou první – uživatelem. Zde je třeba vybrat uživatele, který bude deploy provádět. 4. položka udává cestu k MsDeploy.axd, kterou sestavíte jednoduchým způsobem: https://<ip adresa nebo hostname>:<port nastavený v Management Service>/MsDeploy.axd. Poslední položka je pak cesta, kam se uloží vygenerovaný .pubxml soubor, který (bohužel) neobsahuje seznam hospod v okolí ale nastavení pro publikaci, které jde importovat ve Visual Studiu. Connection stringy pak slouží pro deployment databází. Po kliku na Setup se provede nastavení všech práv a vygenerování konfigurace.

A teď ta složitější cesta – prvně je třeba uživateli přiřadit deploy práva. To se dělá ve Features dané Web site nebo web aplikace, v modulu IIS Manager Permissions, kde napravo je odkaz Allow User. Dále je potřeba zajistit, aby Management Service měla práva zápisu do složky web aplikace. Ve výchozím nastavení běží pod účtem LOCAL SERVICE, takže je třeba na té složce nastavit práva pro LOCAL SERVICE na Full (aspoň já pro jistotu dal Full). Při tomto způsobu se vám nevygeneruje .pubxml soubor, ale musíte Visual Studio nastavit ručně.

Pokud jsem na nic nezapomněl, pak je server připravený na one-click deployment z Visual Studia.

Nastavení Visual Studia

Deployment z Visual Studia se provádí pomocí Publish v kontextovém menu projektu. Pokud máte z předchozího kroku vygenerovaný .pubxml soubor, tak ho zde můžete naimportovat. Pokud ne, tak vytvořte nový profil a na další záložce ho nastavte.
clip_image006

Nastavení je v celku intuitivní, do Service URL je třeba napsat cestu k MsDeploy.axd (https://<ip adresa nebo hostname>:<port nastavený v Management Service>/MsDeploy.axd), do Site/Application pak přijde název site, případně Site\Webová Aplikace (tak jak to mám na obrázku). Do username a hesla pak přihlašovací údaje pro deployovacího uživatele. Poslední položka pak obsahuje cestu k výsledné webové aplikaci. Nezjistil jsem její účel, snad jen pro to, aby se po publishi automaticky otevřel browser s onou aplikací. Při troše štěstí vám Validate Connection oznámí úspěch a tím je vše nastaveno a můžete si pogratulovat. Mě osobně to zabralo netriviální množství času – nepovedlo se mi vygooglit tak pěkný návod, jaký je tento J.

Vyhození souboru z deploymentu

Na závěr ještě jeden tip – pokud nechcete, aby se nějaký soubor deployoval na server (například web.config obsahující app settings nebo connection stringy, tak to lze buď složitě pomocí úprav jakéhosi XML souboru nebo jednodušeji – v properties daného souboru (jak se tam dostanete přes solution explorer) jde nastavit Build Action na None.

Závěr

Ukázali jsme si, jak nainstalovat Web Deploy 3.0, jako nakonfigurovat a také jak jednoduše provést deploy přímo z Visual Studia. Doufám, že si z tohoto návodu něco odnesete a že vám ušetří čas při rozběhávání tohoto zvířátka. Budu rád za každý feedback na toto téma, nejlépe formou komentářů u článku.

Pěkné odkazy na troubleshooting - http://learn.iis.net/page.aspx/1182/troubleshooting-web-deploy-problems-with-visual-studio/ a http://learn.iis.net/page.aspx/1023/web-deploy-error-codes/

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Diskuse: Instalace Web Deploy 3.0 na IIS 8

Teď jsem si to také rozjížděl na W2012 a fakt dost dobrý, ty features IIS Deployment Handler tam totiž úplně z toho instaláku zmizí, pokud není na serveru pod IISkou nainstalovaná role Management Service. Pak je nutné je doinstalovat dodatečně.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Instalace Web Deploy 3.0 na IIS 8

Super,podobný článek jsem sháněl :) Také jsem si s deployem lámal hlavu. Jen pro příště,použijte trochu lepší gramatiku ;-)) Občas to dost bije do očí..

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback