SERVERNAME(myDomain\\Username)
Application Pools
Sites
DEV Site1
DEV Site2
dev Site 3
bin
Content
...
Vie
Your server is inside your domain, so I will use the solution that I have for our inside server. I had to come up with something different for our DMZed servers.
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=False
/p:MSDeployPublishMethod=WMSvc
/p:MsDeployServiceUrl="https://SERVER:8172/MsDeploy.axd?Site=direct"
/p:DeployIisAppPath="direct"
/p:AllowUntrustedCertificate=True
/p:AuthType=NTLM
/p:UserName=
This solution uses WMSvc (installed on the webserver) to allow the TFS build process to access the portions of the server that it needs to when deploying. I havent tried MSDeployAgentService, so i am unsure about that one. In my case, I do not create a package on deploy ( I seem to recall it returned an error when I did that, although I don't remember what it was).
Also, last three arguments are necessary to for the TFS Build Service account to log into VMSvc and do its thing. Leaving UserName blank causes it to log in as the running account (no need to supply a password, yay!).
Here is an example output from the build log on a successful deployment.
MSDeployPublish:
Start Web Deploy Publish the Application/package to https://SERVER:8172/MsDeploy.axd?Site=direct ...
Starting Web deployment task from source: manifest(C:\Builds\1\Direct\Continuous Integration (SERVER)\Binaries\_PublishedWebsites\WEBPROJECTNAME_Package\Archive.SourceManifest.xml) to Destination: auto().
Adding ACL's for path (direct)
Adding ACL's for path (direct)
Updating file (direct\bin\Content\images\buttonBkgHover.png).
... Removed for brevity => This section is all 'Updating file (PATH).'
Updating file (direct\Web.config).
Adding ACL's for path (direct)
Adding ACL's for path (direct)
Successfully executed Web deployment task.
Publish is successfully deployed.
PipelineDeployPhase:
Publish Pipeline Deploy Phase