我需要设置一个可以在没有Visual Studio的情况下构建ASP.NET项目的Jenkins构建服务器吗?

Oma*_*mar 5 windows asp.net msbuild jenkins

我正在尝试使用Jenkins(在Windows Server 2012上)设置构建服务器,该服务器将负责构建(使用配置转换)和打包(zip文件)ASP.NET MVC/Web API项目,然后将它们移动到指定位置( C:/出版).

基本上,我需要通过命令行Visual Studio Web Publish for File System,而无需安装Visual Studio.压缩过程可以通过Jenkins推迟到命令行.

从搜索开始,以下步骤是我到目前为止所做的:

  1. 安装Jenkins
  2. 安装了Jenkins MSBuild插件
  3. 将'C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets'复制到我的构建服务器
  4. 安装了Windows 8 SDK
  5. 创建Jenkins工作,从repo中提取源代码
  6. 为MSBuild任务添加了命令行参数....

第6步是让我难过的.我在网上尝试了很多建议,但无法弄清楚如何获得Visual Studio的发布命令的全部效果.

一个建议是使用发布配置文件属性作为参数:

/p:WebPublishMethod=FileSystem
/p:LastUsedBuildConfiguration=Release
/p:LastUsedPlatform=AnyCPU
/p:ExcludeApp_Data=False
/p:publishUrl=C:\Published\
/p:DeleteExistingFiles=True
Run Code Online (Sandbox Code Playgroud)

但是,这并没有将任何文件移动到c:\Published\.

Oma*_*mar 8

我需要将文件C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web从我的开发框复制到构建服务器上的相同位置,然后属性工作正常.

除了上面概述的步骤之外,下面是我必须采取的额外步骤才能使其正常工作:

  1. 将Jenkins Windows服务更改为以管理员身份登录
  2. 将文件C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web从我的开发机器复制到构建服务器上的相同位置
  3. 通过[Environment]::SetEnvironmentVariable("EnableNuGetPackageRestore", "true.", "Machine")在Powershell中运行来启用NuGet包还原