Mr *_*r D 6 azure-devops azure-pipelines
我有 yaml 来运行我的构建(这是一个假脚本),并且我想将构建脚本的各种输出作为工件发布。
我已经完成了一半,但我无法弄清楚如何输出某些特定的文件夹。
- task: PublishPipelineArtifact@1
displayName: Publish Report
inputs:
pathToPublish: $(System.DefaultWorkingDirectory)/s/ReportProject/bin/Release/netcoreapp3.1
artifactName: MyReport
Run Code Online (Sandbox Code Playgroud)
它实际上似乎要做的是获取一些任意文件夹(这是我的管道的名称,以下为子文件夹)
subfolders
TestResults
a
b
s
Run Code Online (Sandbox Code Playgroud)
是的,我的应用程序在那里,但所有东西也在那里,非常奇怪。
我改变了路径...它发布了相同的内容,即所有内容!
Lev*_*SFT 12
当您使用预定义变量来引用构建代理中的文件夹时。您应该知道它们映射到的确切文件夹。请参阅以下自托管代理示例:
$(Pipeline.Workspace)
被映射到c:\agent\_work\1
$(Agent.BuildDirectory)
也映射到c:\agent\_work\1
$(Build.ArtifactStagingDirectory)
被映射到a
文件夹c:\agent\_work\1\a
$(Build.BinariesDirectory)
被映射到b
文件夹c:\agent\_work\1\b
$(Build.SourcesDirectory)
$(System.DefaultWorkingDirectory)
与映射到s
文件夹的相同c:\agent\_work\1\s
PublishPipelineArtifact 任务和其他任务的默认工作目录是$(System.DefaultWorkingDirectory)
(即c:\agent\_work\1\s
)
由于您的项目文件夹位于文件夹ReportProject
下的文件夹中s
。这就是为什么targetPath: 'ReportProject/bin/Release/netcoreapp3.1'
有效。因为它等于$(System.DefaultWorkingDirectory)/ReportProject/bin/Release/netcoreapp3.1
、和
$(Pipeline.Workspace)/s/ReportProject/bin/Release/netcoreapp3.1
、和$(Build.SourcesDirectory)/ReportProject/bin/Release/netcoreapp3.1
。这些都会起作用。
归档时间: |
|
查看次数: |
9696 次 |
最近记录: |