Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
door Jason Lee
Wanneer u werkt met internetinformatieservices (IIS) Web Deployment Tool (Web Deploy) 2.0 of hoger, zijn er drie belangrijke benaderingen die u kunt gebruiken om uw verpakte webtoepassingen op een webserver op te halen. U kunt het volgende doen:
- Implementeer de toepassing vanaf een externe locatie door de webimplementatieagentservice (ook wel de 'externe agent' genoemd) op de doelserver te richten.
- Implementeer de toepassing vanaf een externe locatie met behulp van Web Deploy On Demand (ook wel de tijdelijke agent genoemd).
- Implementeer de toepassing vanaf een externe locatie door de IIS Web Deploy Handler op de doelserver te richten.
- Implementeer de toepassing door het webpakket handmatig naar de doelserver te kopiëren en te importeren via IIS-beheer.
Hoe u uw doelwebservers configureert, is afhankelijk van welke implementatie u wilt gebruiken. In dit onderwerp kunt u bepalen welke implementatiebenadering geschikt is voor u.
In deze tabel ziet u de belangrijkste voor- en nadelen van elke implementatiebenadering, samen met de scenario's die het meest geschikt zijn voor elke benadering.
| Methode | Voordelen | Nadelen | Typische scenario's |
|---|---|---|---|
| Externe agent | Het is eenvoudig in te stellen. Het is geschikt voor regelmatige updates voor webtoepassingen en -inhoud. | De gebruiker moet een beheerder op de doelserver zijn. de gebruiker kan geen alternatieve referenties opgeven. | Ontwikkelomgevingen. Testomgevingen. |
| Tijdelijke agent | U hoeft Web Deploy niet te installeren op de doelcomputer. De nieuwste versie van Web Deploy wordt automatisch gebruikt. | De gebruiker moet een beheerder op de doelserver zijn. De gebruiker kan geen alternatieve referenties opgeven. | Ontwikkelomgevingen. Testomgevingen. |
| Web Uitrol Handler | Niet-beheerders kunnen inhoud implementeren. Het is geschikt voor regelmatige updates voor webtoepassingen en -inhoud. | Het is veel complexer in te stellen. | Faseringsomgevingen. Intranetproductieomgevingen. Gehoste omgevingen. |
| Offline-implementatie | Het is heel eenvoudig in te stellen. Het is geschikt voor geïsoleerde omgevingen. | De serverbeheerder moet het webpakket telkens handmatig kopiëren en importeren. | Internetgerichte productieomgevingen. Geïsoleerde netwerkomgevingen. |
De externe agent gebruiken
Wanneer u Web Deploy installeert met behulp van de standaardinstellingen op een doelserver, wordt de webimplementatieagentservice (de externe agent) automatisch geïnstalleerd en gestart. De externe agent maakt standaard een HTTP-eindpunt beschikbaar op dit adres:
http://[server]/MSDEPLOYAGENTSERVICE
Opmerking
U kunt [server] vervangen door de computernaam van uw webserver, een IP-adres voor uw webserver of een hostnaam die wordt omgezet in uw webserver.
Serverbeheerders kunnen webpakketten implementeren vanaf een externe locatie, zoals een ontwikkelcomputer of een buildserver, door dit eindpuntadres op te geven. Stel dat Matt Hink bij Fabrikam, Inc. het project ContactManager.Mvc-webtoepassing heeft gebouwd op zijn ontwikkelcomputer. Het buildproces genereert een webpakket, samen met een .deploy.cmd-bestand dat de opdrachten Web Deploy bevat die nodig zijn om het pakket te installeren. Als Matt een serverbeheerder is op de TESTWEB1-server, kan hij de webtoepassing implementeren op de testwebserver door deze opdracht uit te voeren op zijn ontwikkelcomputer:
ContactManager.Mvc.deploy.cmd /y /m:http://TESTWEB1/MSDEPLOYAGENTSERVICE a/:NTLM
In werkelijkheid kan het uitvoerbare bestand Web Deploy het eindpuntadres van de externe agent afleiden als u de computernaam opgeeft, dus Matt hoeft dit alleen te typen:
ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /a:NTLM
Opmerking
Zie How to: Install a Deployment Package Using the deploy.cmd File (Een implementatiepakket installeren met behulp van het deploy.cmd-bestand) voor meer informatie over de opdrachtregelsyntaxis en .deploy.cmd-bestanden.
De externe agent biedt een eenvoudige manier om inhoud vanaf een externe locatie te implementeren. Deze aanpak kan goed werken met één klik of geautomatiseerde implementatie. De gebruiker die de implementatieopdracht uitvoert, moet echter ook een domeinbeheerder of lid zijn van de lokale beheerdersgroep op de doelserver. Bovendien biedt de externe agent geen ondersteuning voor eenvoudige verificatie, zodat u geen alternatieve inloggegevens via de opdrachtregel kunt doorgeven.
De externe agent biedt een handige benadering voor implementatie in ontwikkelings- of testscenario's, waarbij het niet ongebruikelijk is dat ontwikkelaars volledige controle over een testserveromgeving hebben en toepassingen doorgaans zeer vaak opnieuw worden opgebouwd en opnieuw worden geïmplementeerd. Deze benadering is echter meestal minder acceptabel voor faserings- of productieomgevingen.
Zie Scenario: Een testomgeving configureren voor webimplementatie voor een end-to-end-voorbeeld van een scenario dat gebruikmaakt van de externe agentbenadering.
De tijdelijke agent gebruiken
De tijdelijke agentbenadering voor implementatie is vergelijkbaar met de externe agentbenadering. In tegenstelling tot de externe agentbenadering hoeft u Web Deploy echter niet te installeren op de doelwebserver. Wanneer u de implementatie uitvoert, installeert Web Deploy een tijdelijke versie van de webimplementatieagentservice op de doelserver en wordt deze gebruikt om uw inhoud in IIS te implementeren. Wanneer de implementatie is voltooid, worden alle tijdelijke bestanden verwijderd.
Als u de instelling voor de tijdelijke agentprovider wilt gebruiken, voegt u de vlag /g toe aan de implementatieopdracht:
ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /g:true
Opmerking
U kunt de tijdelijke agent niet gebruiken als de webimplementatieagentservice is geïnstalleerd op de doelcomputer, zelfs niet als de service niet wordt uitgevoerd.
Het voordeel van deze aanpak is dat u geen installaties van Web Deploy op uw doelservers hoeft te onderhouden. Bovendien hoeft u er niet voor te zorgen dat op de bron- en doelcomputers dezelfde versie van Web Deploy wordt uitgevoerd. Deze aanpak lijdt echter aan dezelfde principal-beperkingen als de externe agentbenadering, namelijk dat u een lokale beheerder op de doelserver moet zijn om inhoud te implementeren en alleen NTLM-verificatie wordt ondersteund. De tijdelijke agentbenadering vereist ook veel meer initiële configuratie van de doelomgeving.
Zie How to: Install a Deployment Package Using the deploy.cmd File and Web Deploy On Demand (Een implementatiepakket installeren met behulp van het deploy.cmd-bestand en webimplementatie op aanvraag) voor meer informatie over het gebruik van de tijdelijke agent.
De Web Deploy Handler gebruiken
Web Deploy biedt voor IIS 7 een alternatieve implementatiebenadering via de IIS-webimplementatiehandler. De Web Deploy Handler is nauw geïntegreerd met de IIS-webbeheerservice (WMSvc), die is ontworpen om gebruikers toe te staan IIS-websites vanaf externe locaties te beheren.
De externe agent maakt standaard een HTTP-eindpunt beschikbaar op dit adres:
https://[server]:8172/MSDeploy.axd
Opmerking
U kunt [server] vervangen door de computernaam van uw webserver, een IP-adres voor uw webserver of een hostnaam die wordt omgezet in uw webserver.
Het grote voordeel van de Web Deploy Handler via de externe agent en de tijdelijke agent is dat u IIS kunt configureren om niet-beheerders toe te staan toepassingen en inhoud te implementeren op specifieke IIS-websites. De Web Deploy Handler biedt ook ondersteuning voor basisverificatie, zodat u alternatieve referenties kunt opgeven als parameters in uw Web Deploy-opdrachten. Het belangrijkste nadeel is dat de Web Deploy Handler in eerste instantie veel ingewikkelder is om in te stellen en te configureren.
In het geval van niet-beheerders mag de webbeheerservice (WMSvc) alleen verbinding maken met IIS via een verbinding op siteniveau, in plaats van een verbinding op serverniveau. Als u toegang wilt krijgen tot een bepaalde site, kunt u een sitespecifieke queryreeks opnemen in het eindpuntadres:
https://[server]:8172/MSDeploy.axd?site=DemoSite
Stel dat een buildproces is geconfigureerd voor het automatisch implementeren van een webtoepassing in een faseringsomgeving na elke geslaagde build. Als u de externe agentbenadering hebt gebruikt, moet u de buildproces-id een beheerder op uw doelservers maken. Met behulp van de Web Deploy Handler-benadering kunt u daarentegen alleen een niet-administratorgebruiker (FABRIKAM\stagingdeployer ) alleen toestemming geven voor een specifieke IIS-website en het buildproces kan deze referenties opgeven om het webpakket te implementeren. Let op: in het volgende voorbeeld wordt %ContactManagerPublishPassword%de wachtwoordwaarde opgehaald uit een omgevingsvariabele. Als u het script wilt uitvoeren, %ContactManagerPublishPassword% moet de variabele worden gedefinieerd met de juiste waarde.
msdeploy.exe
-source:package='…\ContactManager.Mvc.zip'
-dest:auto,
computerName='https://STAGEWEB1:8172/MSDeploy.axd?site=DemoSite',
userName='FABRIKAM\stagingdeployer',
password=,
authtype='Basic',
-verb:sync
-setParamFile:"…\ContactManager.Mvc.SetParameters.xml"
-allowUntrusted
Opmerking
Zie Web Deploy Command Line Reference voor meer informatie over opdrachtregelbewerkingen en syntaxis van Web Deploy. Zie Een implementatiepakket installeren met behulp van het deploy.cmd-bestand voor meer informatie over het gebruik van het .deploy.cmd-bestand.
De Web Deploy Handler biedt een handige benadering voor implementatie in faseringsomgevingen, gehoste omgevingen en op intranet gebaseerde productieomgevingen, waarbij externe toegang tot de server beschikbaar is, maar beheerdersreferenties niet.
Zie Scenario: Een faseringsomgeving configureren voor webimplementatie voor een end-to-end-voorbeeld van een scenario dat gebruikmaakt van de Web Deploy Handler-benadering.
Offline-implementatie gebruiken
In sommige gevallen is het niet mogelijk of praktisch om toepassingen en inhoud te implementeren op een IIS-website vanaf een externe locatie. De bron- en doelcomputers bevinden zich bijvoorbeeld in geïsoleerde netwerken of netwerksegmenten, of het firewallbeleid staat externe toegang mogelijk niet toe.
In dergelijke scenario's kunt u nog steeds de verpakkings- en publicatiemogelijkheden van Web Deploy gebruiken; u kunt ze alleen niet gebruiken vanaf een externe locatie. In plaats daarvan moet een beheerder op de doelserver het webpakket naar de server kopiëren en importeren via IIS-beheer.
De offline implementatiebenadering is doorgaans handig in productieomgevingen met internet, waarbij servers in een perimeternetwerk mogelijk beperkte connectiviteit hebben met computers in het interne netwerk.
Zie Scenario: Een productieomgeving configureren voor webimplementatie voor een end-to-end-voorbeeld van een scenario dat gebruikmaakt van de offlineimplementatie.
Meer lezen
Zie Web Deploy Command Line Reference voor meer informatie over opdrachtregelbewerkingen en syntaxis van Web Deploy. Zie Een implementatiepakket installeren met behulp van het deploy.cmd-bestand voor meer informatie over het gebruik van het .deploy.cmd-bestand.
Zie Web Deploy Remotely gebruiken voor algemene richtlijnen over de verschillende manieren waarop u webpakketten vanaf een externe computer kunt implementeren. Zie Web Deploy On Demand voor meer informatie over het gebruik van Web Deploy On Demand.