如何使用发布构建工件任务发布特定文件

Edd*_*die 2 c# azure-devops azure-pipelines-build-task azure-pipelines azure-artifacts

我正在使用 Visual Studio Build In Azure Pipeline 构建 C# 应用程序。

我的解决方案包含多个项目(ManagerWeb 和 WebAPI)。

我想分别发布两个单独的 Artifact ManagerWeb 和 WebAPI。

在此输入图像描述 所有必需的文件都存在于Build.ArtifactStagingDirectory.

我如何指定一个模式,使用它可以获得两个单独的工件?WebAPI示例第一个工件和ManagerWeb另一个工件中的所有文件名。

ArtifactStaging 目录中的文件名如下

Something.Manager.WebAPI.deploy.cmd
Something.Manager.WebAPI.deploy-readme.txt
Something.Manager.WebAPI.SetParameters.xml
Something.Manager.WebAPI.SourceManifest.xml
Something.Manager.WebAPI.zip

Something.ManagerWeb.deploy.cmd
Something.ManagerWeb.deploy-readme.txt
Something.ManagerWeb.SetParameters.xml
Something.ManagerWeb.SourceManifest.xml
Something.ManagerWeb.zip
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

提前致谢。

Ada*_*dam 5

添加两个复制文件步骤;

  • ManagerWeb 文件到$(Build.ArtifactStagingDirectory)\ManagerWeb
  • WebAPI 文件到$(Build.ArtifactStagingDirectory)\WebAPI

然后有两个发布工件步骤:

  • 发布$(Build.ArtifactStagingDirectory)\ManagerWeb为 ManagerWeb
  • 发布$(Build.ArtifactStagingDirectory)\WebAPI为 WebAPI

我对此进行了模拟并导出了 YAML,如下所示;

pool:
  name: Hosted VS2017
steps:
- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)\ManagerWeb'
  inputs:
    SourceFolder: 'your/path/here/ManagerWeb'
    TargetFolder: '$(Build.ArtifactStagingDirectory)\ManagerWeb'

- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)\WebAPI'
  inputs:
    SourceFolder: 'your/path/here/WebAPI'
    TargetFolder: '$(Build.ArtifactStagingDirectory)\WebAPI'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: ManagerWeb'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)\ManagerWeb'

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: WebAPI'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)\WebAPI'
Run Code Online (Sandbox Code Playgroud)