VSTS Yaml变量和路径与经典编辑器相矛盾

问题描述 投票:0回答:1

在与当前正在按预期工作的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)

我已经将/改为\,但结果相同。

下面是设计师管道

enter image description here

同样的结果在dotnet publish任务中也在Path to project(s)参数**\**\*.csprojgives下面的错误,但上面的yaml文件按预期工作。

2019-04-06T10:02:58.7896707Z ##[error]Project file(s) matching the specified pattern were not found.
azure-devops azure-pipelines
1个回答
2
投票

在发布管道中,变量Build.SorucesDirectoryBuild.ArtifactSatgingDirectory不可用,这些变量仅用于构建管道。

实际上,在release agent文件夹中没有“Soruces”文件夹,只有“Artifact”文件夹。例如:C:\agent\_work\r1\a,获取值的变量是:System.ArtifactDirectoryAgent.ReleaseDirectory

有关发布变量的更多详细信息,请参阅here

© www.soinside.com 2019 - 2024. All rights reserved.