gpt4 book ai didi

git - Azure Pipeline,无法提示,因为终端提示已被禁用

转载 作者:行者123 更新时间:2023-12-04 15:13:16 25 4
gpt4 key购买 nike

我正在尝试将管道设置为仅 checkout 与项目相关的特定文件夹,以便减少 checkout 时间。

我正在使用在许多其他问题上找到的以下代码,但我似乎无法让它工作。

- 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)

我不断在日志中收到以下错误:

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://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="adc2dfcaccc3c4d7ccd9c4c2c3edc9c8db83ccd7d8dfc883cec2c0" rel="noreferrer noopener nofollow">[email protected]</a>/...': terminal prompts disabled

我似乎无法弄清楚如何启用终端提示。

更新:

根据@Repcak评论,我更新了代码,但仍然收到终端提示已被禁用错误。

最佳答案

实际问题不在于是否有交互式终端,而在于提供访问目标存储库的凭据。

要遵循的设置取决于您访问存储库的方式(您似乎使用 https,ssh 是一个选项吗?)以及在某种程度上测试平台(如果您打算在客户端使用凭证管理器)。

  • 通过 https :如果 SYSTEM_ACCESSTOKEN 是为您的测试环境生成的 PAT,您必须以某种方式在脚本中使用它,就像使用密码一样。

您可以通过在目标网址中指定来传递用户名:密码(您在错误消息中发布的网址只有用户名部分),或者设置凭证管理器,以便它包含所述登录的密码,或者找到一种以某种方式颁发身份验证 token 的方法,或者......

  • 如果您可以切换到 ssh 访问:为您的管道设置 ssh key ,并选择在测试平台上部署所述 ssh key 的方式。

关于git - Azure Pipeline,无法提示,因为终端提示已被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64803872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com