[我正在尝试配置一个CI,该CI将在Azure DevOps上将工件生成为NuGet包(稍后将其推送到我的NuGet服务器上。
为此,我在Azure DevOps(YAML版本)上使用生成管道。
我有3个应该构建软件包的项目。我正在使用NuGetCommand@2完成此任务:
- task: NuGetCommand@2
inputs:
command: pack
packagesToPack: $(Build.SourcesDirectory)/src/HTS_MessageEngine.Communication/HTS_MessageEngine.Communication.csproj
majorVersion: $(majorVersion)
minorVersion: $(minorVersion)
patchVersion: $(patchVersion)
versioningScheme: byPrereleaseNumber
但是,对于每个项目,我必须将此块重复3次。有没有办法在packagesToPack参数中指定项目数组?到目前为止,每个软件包的版本都是相同的,因此我不需要三个不同的块...
注意:这3个项目都是3个NetStandard,并且用于程序包构建的属性直接存储在csproj中
您可以使用每个功能(如果目前尚可用):>
# my-template.yml parameters: steps: - ${{ each project in parameters.projects }}: - task: PublishBuildArtifacts@1 displayName: 'Publish ${{ project }} inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/${{ project }}.zip'
# ci.yml steps: - template: my-template.yml parameters: projects: - test1 - test2
此功能的Github PR:https://github.com/Microsoft/azure-pipelines-yaml/pull/2#issuecomment-452748467