在与当前正在按预期工作的classic editor
文件进行比较时设置VSTS yaml
参数时,我遇到了一个问题。
下面工作正常(Build管道)
- task: CopyFiles@2
displayName: "Copy Files to: $(Build.ArtifactStagingDirectory)"
inputs:
contents: '$(Build.SourcesDirectory)/src/xxx.EndToEnd.Integration.Tests/**'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: DotNetCoreCLI@2
displayName: "dotnet e2e tests"
inputs:
command: publish
publishWebProjects: false
projects: '**/*.csproj'
arguments: --output $(Build.ArtifactStagingDirectory)/src/xxx.EndToEnd.Integration.Tests
zipAfterPublish: false
但是同样的设置如下所示找到0个文件
2019-04-06T10:02:57.5303667Z found 0 files
2019-04-06T10:02:57.5376614Z ##[section]Finishing: Copy Files to: $(Build.ArtifactStagingDirectory)
我已经将/
改为\
,但结果相同。
下面是设计师管道
同样的结果在dotnet publish
任务中也在Path to project(s)
参数**\**\*.csproj
gives下面的错误,但上面的yaml
文件按预期工作。
2019-04-06T10:02:58.7896707Z ##[error]Project file(s) matching the specified pattern were not found.
在发布管道中,变量Build.SorucesDirectory
和Build.ArtifactSatgingDirectory
不可用,这些变量仅用于构建管道。
实际上,在release agent文件夹中没有“Soruces”文件夹,只有“Artifact”文件夹。例如:C:\agent\_work\r1\a
,获取值的变量是:System.ArtifactDirectory
或Agent.ReleaseDirectory
。
有关发布变量的更多详细信息,请参阅here。