使用MSBUILD和/或MSDEPLOY从命令行进行部署(.NET 3.5)

时间:2016-03-26 15:01:11

标签: asp.net jenkins msbuild continuous-integration msdeploy

我试图让詹金斯的工作部署我的网站。

我使用以下命令行句子,但没有成功:

"C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe" myproj.csproj /p:DeployOnBuild=true

我也尝试过:

"C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe" myproj.csproj  /p:Configuration=Debug /p:OutputPath="obj\debug" /p:DeployIisAppPath="Default Web Site/demo" 

虽然我的项目编译得当,但无效。

我去C:\ inetpub \ wwwroot没有新的东西。我希望我的网站开始运行,并可以从我的浏览器访问Localhost。

2 个答案:

答案 0 :(得分:1)

您可以使用MSDeploy使用以下MSBuild参数

部署您的Web应用程序
/p:Configuration=release
/p:DeployOnBuild=True 
/p:DeployTarget=MSDeployPublish
/p:MsDeployServiceUrl=https://targetServer:8172/MsDeploy.axd
/p:DeployIisAppPath=MySite 
/p:AllowUntrustedCertificate=True
/p:Username=
/p:AuthType=NTLM
但是,MSDeploy已被证明是我们更好的解决方案。我们使用MSBuild创建MSDeploy包,然后我们可以使用MSDeploy.exe将该包部署到许多环境。构建一次,部署许多。以下是WebDeploy的概述,可能会有所帮助:

http://dotnetcatch.com/2016/02/25/the-anatomy-of-a-webdeploy-package/

答案 1 :(得分:0)

确保在MSBuild命令后添加正确的参数,例如/p:DeployOnBuild=true /p:PublishProfile="XXXProfile",但最重要的是将MSBuild.exe路径添加到%PATH%环境变量。 / p>

已将MSBuild.exe路径添加到%PATH%系统环境变量中,您唯一需要做的就是调用: msbuild myproject.csproj /p:DeployOnBuild=true /p:PublishProfile="MyProfile",其中MyProfile是Visual Studio生成的发布配置文件,可以在MyProject\Properties\PublishProfiles文件夹下找到。