我有一大群用户使用相同的Active Directory凭据登录TFS和Jenkins。
可用于访问TFS和Jenkins的AD帐户示例:
在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插件:
我希望能够自动将当前登录用户的凭据传递给PowerShell脚本。这可能吗?我该怎么做呢?
我不想每次都传递相同的凭据,我不想让用户重新输入他们的用户名/密码作为参数。
该脚本使用在Jenkins TFS插件中配置的用户/ TFS凭据Company\ServiceAccount
来执行TFS连接并签入操作。
无法将当前登录的Jenkins用户凭据自动传递给PowerShell脚本。
作为解决方法,您可以通过TFS构建管道执行此操作。由于您的源代码管理是在TFS中管理的,因此只需使用Jenkins构建。
您可以简单地添加一个Jenkins Queue Job任务,该任务将在TFS构建定义中的Jenkins服务器上排队作业。
然后添加powershell脚本任务以执行合并和签入操作。关于如何使用powerShell将代码提交到TFS,请参阅此blog。最后,用户将Jenkins Job排队,然后在TFS中检入代码。