我有一个管道(用于yaml)仓库和一个源(用于产品源)仓库。管道作业为构建完成克隆源的工作。这是可行的——只要"不要同步源"。在pipeline/YAML/Get Sources (from Pipelines)选项卡中检查。我需要为内联powershell获得点源的脚本同步管道。
我试着添加:
- checkout: self
persistCredentials: true
在另一个线程中讨论过,但是没有帮助。
steps:
- powershell: |
$commit = git ls-remote $ENV:REPOURL $ENV:BRANCH
. "$(Build.SourcesDirectory)PowerShellawesome_stuff.ps1"
Start-Awesome -WorkingDirectory $(Agent.BuildDirectory) -CloningDirectory $ENV:CLONING_DIRECTORY -BranchName $ENV:BRANCH -RepositryUrl $ENV:REPOURL -Commit $commit
errorActionPreference: continue
displayName: "Run Awesome"
如果我"不同步源",那就太棒了。Ps1不存在。如果我做同步,git ls-remote
错误:
fatal: could not read Username for 'https://proj.contoso.com': terminal prompts disabled
You cannot call a method on a null-valued expression.
手动克隆多个repos成功。
我检查了"不要同步源"。并添加了一个函数来克隆$(Agent.BuildDirectory)ScriptsPipelines下的管道,这不会干扰通常在$(Agent.BuildDirectory)clientsrc下克隆的源代码。