我正在尝试在构建期间发布几个管道工件,以便我可以在构建另一个解决方案时使用它们。
我的第一个构建使用以下 yaml 构建和测试解决方案
- stage: build_test_release
displayName: Build
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
jobs:
- job: build
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
这一切都很好,我已经能够在同一个文件中使用这个 yaml 进行部署
- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'azuresubscription'
appType: 'webApp'
WebAppName: 'webappname'
deployToSlotOrASE: true
ResourceGroupName: 'resourcegroupname'
SlotName: 'staging'
packageForLinux: '$(build.artifactStagingDirectory)/**/projectToPublish.zip'
我现在正在尝试发布一些作为管道工件构建的项目,以便我可以在构建另一个引用它们的解决方案中使用它们。以下发布任务给了我错误:
“##[错误]路径不存在:D:\a\1\a**\projectToPublish.zip”
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(build.artifactStagingDirectory)/**/projectToPublish.zip'
artifact: 'artifactname'
publishLocation: 'pipeline'
我在这里想念什么?我一直在考虑将两个解决方案引用的项目移动到他们自己的解决方案中,并将它们添加为 nuget 包或类似的东西。我试图发布为要在第二个解决方案中使用的工件的项目都是 WCF 客户端项目。
谢谢!