【问题标题】:Blazor WebAssembly Azure DevOps build pipeline publish artifactsBlazor WebAssembly Azure DevOps 构建管道发布工件
【发布时间】:2020-12-23 07:13:49
【问题描述】:

我们为我们的 blazor webassembly 项目创建了一个构建管道 yaml,其中包括一个发布任务。由于某种原因,只有 wwwroot 文件夹项会生成到放置文件夹中,而通常位于 wwwroot 文件夹之外的所有其他二进制文件由于某种原因不会生成。

这是构建和发布的 yaml 文件的一部分。是否设置不正确以获取生成和发布的所有文件,或者它只会给我们作为 webassembly 项目的静态文件?

- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'

- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: true
    projects: '**/*.csproj'
    arguments: '--configuration $(buildConfiguration) --output $(build.artifactstagingdirectory)"'
    zipAfterPublish: false

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
  condition: succeededOrFailed()

此外,由于我们发现 Blazor webassembly 在使用 Web 服务的 Azure 配置设置时存在问题,因此我们需要让发布过程操作 web.config 文件,以便我们可以设置构建的 ASPNETCORE_ENVIRONMENT并部署。到目前为止,我发现的所有内容在 DevOps 构建管道中运行时都不起作用,因为它们适用于 dotnet 脚本。 有谁知道如何做到这一点?我们尝试将site /p:EnvironmentName=Development 添加到发布任务的--output 参数中,但它说它不能在多个项目上运行,即使我们将项目参数设置为一个(如我们所说,它没有在上面显示暂时恢复正常)。

谢谢你, 克里斯·卡尔弗特

【问题讨论】:

    标签: azure-devops build-pipeline dotnetcorecli


    【解决方案1】:

    你试过了吗?

    • 任务:DotNetCoreCLI@2 显示名称:发布 输入: 命令:发布 发布WebProjects:真 参数:'--configuration $(buildConfiguration) --output "$(build.artifactstagingdirectory)" /p:EnvironmentName=Development' zipAfterPublish:是的

    【讨论】:

    • 这最终成为了我在 Azure Devops Server 中构建问题的解决方案。我的 --output 目录中有空格,需要用引号括起来。一旦我将参数调整为 --configuration $(BuildConfiguration) --output "$(build.artifactstagingdirectory)" 它就起作用了。基本上它认为 c:\frank\and beans\are\for\dinner 是多个项目。因此出现错误。
    猜你喜欢
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多