Ros*_*oss 10 git cmd azure azure-pipelines
我正在尝试将管道设置为仅签出与项目相关的特定文件夹,以便减少签出时间。
我正在使用在许多其他问题上找到的以下代码,但我似乎无法让它工作。
- script: |
cd $(Build.SourcesDirectory)
git init
git remote set-url origin $(Build.Repository.Uri)
git config core.sparsecheckout true
echo STARS/Source/ >> .git/info/sparse-checkout
git pull origin $(Build.SourceBranch)
displayName: 'Project Specific Checkout'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Run Code Online (Sandbox Code Playgroud)
我不断在日志中收到以下错误:
Reinitialized existing Git repository in C:/Agent001/_work/20/s/.git/
fatal: Cannot prompt because terminal prompts have been disabled.
fatal: could not read Password for 'https://organization@dev.azure.com/...': terminal prompts disabled
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚如何启用终端提示。
更新:
根据@Repcak 评论,我更新了代码,但仍然收到错误terminal prompts have been disabled。
实际问题不在于是否有交互式终端,而在于提供访问目标存储库的凭据。
要遵循的设置取决于您访问存储库的方式(您似乎使用 https,ssh 是一个选项吗?)以及在某种程度上测试平台(如果您打算在客户端使用凭证管理器)。
SYSTEM_ACCESSTOKEN是为您的测试环境生成的 PAT,您必须以某种方式在脚本中使用它,就像使用密码一样。您可以username:password通过在目标 URL 中指定它来传递(您在错误消息中发布的 URL 仅包含该username部分),或者设置凭据管理器,使其包含所述登录的密码,或者找到一种发出身份验证的方法以某种方式标记,或者...
不确定这是否能解决您的问题,但我的管道中出现了相同的错误消息,需要将代码推送到存储库中,这只是我的管道中的步骤无法访问构建的令牌。
您是否选中了“允许脚本访问 OAuth 令牌”复选框?
| 归档时间: |
|
| 查看次数: |
30423 次 |
| 最近记录: |