在尝试在 Azure 管道中构建时,我收到以下错误:
fatal: Cannot prompt because user interactivity has been disabled.
fatal: could not read Username for ****** (an azure repo)
我已将其添加到 yaml 但问题仍然存在:
- checkout: self
persistCredentials: true
clean: true
问题来自 cmake 文件中的几个 FetchContent_Declare。我尝试从同一个 +PAT 重定向到 url,但它不起作用,它是这样的:
git config --global url."https://[email protected]:".insteadOf "https://dev.azure.com"
我能做什么?
PAT 代表个人访问令牌。仅当您不使用服务主体或尚未启用 DevOps 托管身份时,您才可以使用此功能。
Azure DevOps YAML 管道中的persistCredentials 设置控制是否存储并保留管道运行期间使用的凭据,以便在同一代理上运行后续管道。此设置与您可能希望在多次运行中重复使用凭据的自托管代理特别相关。您的 YAML 中不应该需要它。
要配置管道以在 Azure DevOps 中使用其自己的身份进行身份验证,您可以根据您的要求利用托管身份或服务主体。设置方法如下:使用托管身份:
为 Azure DevOps 启用托管身份:
az ad sp create-for-rbac --name <ServicePrincipalName> --sdk-auth