Azure CI / D生成管道未生成所有项目

时间:2020-09-15 16:55:59

标签: azure-devops azure-pipelines

我有一个包含4个项目,2个类库,1个asp.net核心项目和1个console.exe项目的仓库

当我运行以下命令时,它只会为asp.net核心项目构建一个zip文件。我希望它也为控制台应用程序构建一个zip

trigger:
- master

pool:
  vmImage: 'windows-2019'

variables:
  buildConfiguration: 'Release'

steps:
- task: UseDotNet@2
  displayName: 'Install .NET Core SDK'
  inputs:
    version: 5.0.x
    performMultiLevelLookup: true
    includePreviewVersions: true # Required for preview versions

- task: DotNetCoreCLI@2
  displayName: "Publish"
  inputs:
    command: 'publish'
    arguments: '-r win-x64 --configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  displayName: "Upload Artifacts"
  inputs:
    pathtoPublish: '$(Build.ArtifactStagingDirectory)' 

编辑: 基于@DreadedForet的代码,这是产生的 用1个zip(作业)创建的文件,其中包含以下内容:

  1. 测试结果-空
  2. a-包含Web项目的zip(这是 正确)
  3. b-空
  4. s-似乎是所有项目源的转储 代码(.sln所在目录的内容)

2 个答案:

答案 0 :(得分:0)

您只有DotNetCore项目的发布任务。如果要发布Azure Pipline中的所有文件,请尝试使用PublishPipelineArtifact @ 1替换PublishBuildArtifacts @ 1任务。这可能无法完成您正在尝试的100%,但应该会有所帮助。

  - task: PublishPipelineArtifact@1
  inputs:
    #targetPath: '$(Pipeline.Workspace)' 
    #artifactName: 'drop'

这将发布连接到管道的所有内容,而不是发布到暂存目录的所有内容。

答案 1 :(得分:0)

我们可以禁用选项Publish web projects并添加指定的项目路径,如下所示。

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: publish
    publishWebProjects: false
    projects: 'project path'
- task: PublishBuildArtifacts@1
  displayName: "Upload Artifacts"
  inputs:
    pathtoPublish: '$(Build.ArtifactStagingDirectory)' 

然后再次添加任务以为控制台应用构建zip

相关问题