Como posso obter o TFS2010 para executar o MSDEPLOY para mim através do MSBUILD?
Há uma excelente conversa no PDCdisponivel aqui de Vishal Joshi, que descreve os novos recursos do MSDEPLOY no Visual Studio 2010 - e também como implantar um aplicativo no TFS. (Há também uma ótima conversa deScott Hanselman, mas ele não entra no TFS).
Você pode usar o MSBUILD no TFS2010 para chamar o MSDEPLOY para implantar seu pacote no IIS. Isso é feito por meio de parâmetros para MSBUILD.
A palestra explica alguns dos parâmetros da linha de comando, como:
/p:DeployOnBuild
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=InProc
/p:MSDeployServiceURL=localhost
/p:DeployIISAppPath="Default Web Site"
Mas onde está a documentação para isso - não consigo encontrar nenhuma?
Passei o dia todo tentando fazer com que isso funcionasse e não consigo acertar e continuar com vários erros. Se eu executar o pacotecmd
arquivo que implanta perfeitamente. Se eu executar o WebDeploy através do Visual Studio, ele também funcionará perfeitamente.
Mas quero que toda a implantação seja executadamsbuild
usando esses argumentos e não uma chamada separada paramsdeploy
ou executando o pacote.cmd
Arquivo. Como posso fazer isso?
PS. Sim eu tenho oWeb Deployment Agent Service
corrida. Eu também tenho o serviço de gerenciamento em execução no IIS. Eu tentei usar os dois.
Args que estou usando:
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:Configuration=Release
/p:CreatePackageOnPublish=True
/p:DeployIisAppPath=staging.example.com
/p:MsDeployServiceUrl=https://staging.example.com:8172/msdeploy.axd
/p:AllowUntrustedCertificate=True
me dando:
C: \ Arquivos de programas (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets (2660): Falha no VsMsdeploy. (Agente remoto (URLhttps://staging.example.com:8172/msdeploy.axd?site=staging.example.com) não pôde ser contatado. Verifique se o serviço do agente remoto está instalado e iniciado no computador de destino.) Detalhes do erro: Agente remoto (URLhttps://staging.example.com:8172/msdeploy.axd?site=staging.example.com) não pôde ser contatado. Verifique se o serviço do agente remoto está instalado e iniciado no computador de destino. Uma resposta não suportada foi recebida. O cabeçalho de resposta 'MSDeploy.Response' era '' mas 'v1' era esperado. O servidor remoto retornou um erro: (401) Não autorizado.