使用yml和服务连接时,构建代理中包含未下载的git工件,

时间:2019-08-02 15:14:43

标签: azure-devops azure-pipelines

Git存储库未下载到代理中,以在yml中的下一步中参考 (可在用户界面中使用)。

当我使用UI运行构建并选择源文件夹作为我的git repo时,我可以成功运行构建,如果我尝试使用yml,它只会下载包含yml的存储库。我似乎无法像在UI中那样引用外部存储库。

pr: none
trigger: none

resources:
  repositories:
  - repository: Terraform_Repo
    type: github
    name: My-Repo/terraform
    endpoint: My-Repo (service connection)

jobs:
- job: 'azure_buildserver'
  displayName: 'Build Server'
  timeoutInMinutes: 180

  variables:
  - group: ENVBase
  pool:
    name: 'Hosted VS2017'

  steps:

  - task: CopyFiles@2
    displayName: 'Copy Files to: Copy Files to: $(build.artifactstagingdirectory)'
    inputs:
      sourceFolder: $(Agent.BuildDirectory)
      contents: '**'
      TargetFolder: '$(build.artifactstagingdirectory)'

  - task: PublishBuildArtifacts@1
    displayName: 'Publish Artifact: Terraform_Repo'
    inputs:
      ArtifactName: 'Terraform_Repo'here

期望要从指定的存储库中下载工件。

1 个答案:

答案 0 :(得分:0)

这是预期的行为,yaml构建应该位于您要获取的存储库中。

yaml中的resoucres部分不是在构建期间获取第二个存储库,而是从第二个存储库中获取yaml template

因此,最佳做法是将yaml放入所需的存储库中,如果您不愿意,可以添加执行第二个存储库的git clone的命令行步骤。