我有一个管道,在其中执行两项结帐任务。
- checkout: ${{ parameters.repository_resource }}
displayName: checkout ${{ parameters.repository_resource }}
path: 's'
- checkout: self
displayName: checkout repository
path: "mydirectory"
但是,我收到的问题是我的管道中关于第二次结帐的警告:
存储库当前位于“/home/vsts/work/1/s/poc-plan-in-pr”,移至“/home/vsts/work/1/cibuild”
##[警告]无法将现有存储库移动和重用到所需位置。
两次签出都在进行,并且我的管道仍然有效,表明它正在成功检索 git 存储库 - 但由于某种原因,此警告不会消失。
所以我猜管道确实有效,但这很烦人
根据您的描述,当任何存储库直接检出到
$(System.DefaultWorkingDirectory)
(即s
下的$(Agent.BuildDirectory)
文件夹)时,我可以重现警告。
根据签出路径上的文档,您可以考虑不为
path
步骤添加checkout
属性,以便存储库将作为的子文件夹签出到以存储库命名的目录中s
在 $(Agent.BuildDirectory)
。
parameters:
- name: repository_resource
default: 'Repo1'
resources:
repositories:
- repository: Repo1
name: Repo1
type: git
pool:
vmImage: ubuntu-latest
variables:
repository_resource_name: $[ resources.repositories.Repo1.name ]
steps:
- checkout: ${{ parameters.repository_resource }}
displayName: checkout ${{ parameters.repository_resource }}
# path: $(repository_resource_name)
- checkout: self
displayName: checkout repository
# path: cibuild
- bash: tree $(Agent.BuildDirectory)
或者,您可以添加
path
属性,但避免使用 s
目录,以便相对于 $(Agent.BuildDirectory)
使用路径。
parameters:
- name: repository_resource
default: 'Repo1'
resources:
repositories:
- repository: Repo1
name: Repo1
type: git
pool:
vmImage: ubuntu-latest
variables:
repository_resource_name: $[ resources.repositories.Repo1.name ]
steps:
- checkout: ${{ parameters.repository_resource }}
displayName: checkout ${{ parameters.repository_resource }}
path: $(repository_resource_name)
- checkout: self
displayName: checkout repository
path: cibuild
- bash: tree $(Agent.BuildDirectory)