一尘不染

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

jenkins

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

基本上,我需要通过命令行使用Visual Studio Web Publish for File System,而不必安装Visual
Studio。可以通过Jenkins将压缩过程推迟到命令行。

通过搜索,以下步骤是我到目前为止已完成的工作:

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

第6步让我很沮丧。我在网上尝试了许多建议,但无法弄清楚如何获得Visual Studio的publish命令的全部效果。

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

/p:WebPublishMethod=FileSystem
/p:LastUsedBuildConfiguration=Release
/p:LastUsedPlatform=AnyCPU
/p:ExcludeApp_Data=False
/p:publishUrl=C:\Published\
/p:DeleteExistingFiles=True

但这并不会将任何文件移到c:\Published\


阅读 256

收藏
2020-07-25

共1个答案

一尘不染

我需要将文件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软件包还原
2020-07-25