【问题标题】:Use Azure PAT to checkout in Jenkins在 Jenkins 中使用 Azure PAT 结帐
【发布时间】:2021-03-05 17:39:56
【问题描述】:

我正在尝试使用我的 Azure DevOps 帐户的 PAT 通过 Jenkins 中的 checkout 步骤进行克隆。

我所做的是:

  1. 在 Azure DevOps 中创建 PAT。
  2. 创建一个用户/密码类型的新凭据,我在其中输入了我的用户名和 PAT
  3. 使用此凭据通过 checkout 步骤创建了 Jenkins 流水线作业。

我收到一个错误authentication failed

我在this page 中看到了如何使用-c http.extraHeader 选项从命令行使用PAT 进行克隆。你如何在 Jenkins 中使用它?

有没有办法在 Jenkins 中使用 PAT 进行身份验证?

编辑

我正在使用本地 Azure DevOps 的内部网络工作,它不使用 HTTPS 而不是 HTTP,有人告诉我这可能是原因...

【问题讨论】:

  • 您能否展示您的 Jenkins 结帐步骤的相关部分?

标签: jenkins azure-devops


【解决方案1】:

请先检查 PAT 是否被授予代码读取范围。

然后检查结帐步骤是否设置正确。我在管道的结帐步骤中有以下内容。对我来说效果很好:

在 Jenkins 中创建的凭据:

 checkout([
            $class: 'GitSCM', 
            branches: [[name: "*/dev"]],
            userRemoteConfigs: [[
                credentialsId: '54c8d07b-a961-4e98-a189-2566868e9673', 
                url: "https://orgName@dev.azure.com/orgName/ProjectName/_git/RepoName", 
                //refspec:"+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin-pull/*"]]
          ])
         

更新:

请检查 Azure DevOps on-prem 的 IIS 基本身份验证是否已启用。

在您的 Windows 计算机上启用 IIS 基本身份验证时,它会阻止您使用个人访问令牌 (PAT) 作为身份验证机制。见here

所以请尝试使用您的用户名和密码来创建 jenkins 凭据。

【讨论】:

  • 我确实验证了这一切,谢谢
  • @YoavKlein 如果为本地 Azure DevOps 启用 IIS 基本身份验证,则 PAT 无效。见here。请尝试使用您的用户名和密码来创建 jenkins 凭据而不是 PAT。
  • @YoavKlein 您是否尝试过使用您的用户名和密码。进展如何?
猜你喜欢
  • 1970-01-01
  • 2022-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-12
  • 2021-03-02
  • 2019-04-05
  • 1970-01-01
相关资源
最近更新 更多