【发布时间】:2017-01-12 12:18:47
【问题描述】:
我正在尝试创建一个构建,它将构建我的解决方案,根据需要应用 web.config 转换,最后将所需的输出(构建的 Web api 项目)复制到构建的工件区域。
我正在使用部署...Azure WebApp 模板,其中禁用了 Azure 应用服务部署步骤(因为我们正在迁移到 Azure),在构建步骤中使用以下构建参数:
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\" /p:AutoParameterizationWebConfigConnectionStrings=False
除了生成的 zip 文件的结构之外,一切都按预期工作,其结构如下:
{ZipFileName}{ProjectName\Content\C_C\a\1\s\Api{ProjectName\obj\Release\Package\PackageTmp...{BuildContent}
如果可能,我希望内容位于已发布 zip 文件的根目录中。使用 Powershell 或许多其他内置构建任务来操作 $(build.artifactstagingdirectory) 内容的最佳方法是什么?
【问题讨论】:
-
"这是为了找到建好的项目:"什么意思?
-
是的,写得不好,已编辑。
-
@MattRowett 你解决了这个问题吗?
-
@Matt,您是如何获得 MSBuild 步骤来生成 Web 部署包的?我已将您建议的参数用于 MSBuild,但我似乎无法让它生成 zip。
-
@cesarb 您的意思是部署到 Azure 应用服务吗?如果是这样,则有专门针对此的构建任务。这是为了通过构建步骤直接访问嵌套的构建内容输出。
标签: msbuild azure-devops msbuild-task