Jenkins TFS凭证绑定

问题描述 投票:0回答:1

我有一大群用户使用相同的Active Directory凭据登录TFS和Jenkins。

可用于访问TFS和Jenkins的AD帐户示例:

  • 公司\ JohnSmith对
  • 公司\ MaryJones
  • 公司\ ServiceAccount

在Jenkins中,我创建了一个通过执行PowerShell脚本将代码和签入合并到TFS的作业。

目前,PowerShell脚本使用Company \ ServiceAccount在TFS中完成合并和签入。这样做的问题是,即使Company \ JohnSmith或Company \ MaryJones启动Jenkins作业,Company \ ServiceAccount也会在完成办理登机手续时记录在TFS中。

为了更好的可跟踪性,我希望能够使用当前登录到Jenkins的用户凭据(无论是JohnSmith还是MaryJones还是其他任何数百个用户),并将该用户名和密码传递给PowerShell脚本进行连接到TFS。结果将是在TFS中它将显示JohnSmith / MaryJones办理登机手续而不是ServiceAccount。

我安装了以下Jenkins插件:

  • 凭据绑定插件
  • 凭据插件
  • 普通证书
  • 插件Team Foundation Server插件

我希望能够自动将当前登录用户的凭据传递给PowerShell脚本。这可能吗?我该怎么做呢?

我不想每次都传递相同的凭据,我不想让用户重新输入他们的用户名/密码作为参数。

powershell jenkins tfs jenkins-plugins credentials
1个回答
0
投票

该脚本使用在Jenkins TFS插件中配置的用户/ TFS凭据Company\ServiceAccount来执行TFS连接并签入操作。

无法将当前登录的Jenkins用户凭据自动传递给PowerShell脚本。

作为解决方法,您可以通过TFS构建管道执行此操作。由于您的源代码管理是在TFS中管理的,因此只需使用Jenkins构建。

您可以简单地添加一个Jenkins Queue Job任务,该任务将在TFS构建定义中的Jenkins服务器上排队作业。

然后添加powershell脚本任务以执行合并和签入操作。关于如何使用powerShell将代码提交到TFS,请参阅此blog。最后,用户将Jenkins Job排队,然后在TFS中检入代码。

© www.soinside.com 2019 - 2024. All rights reserved.