我有一大群用户使用相同的Active Directory凭据登录TFS和Jenkins。
可用于访问 TFS和Jenkins的AD帐户示例:
在Jenkins中,我创建了一个通过执行PowerShell脚本将代码和签入合并到TFS的作业。
目前,PowerShell脚本使用 Company \ ServiceAccount 在TFS中完成合并和签入。 这样做的问题是,即使公司\ JohnSmith 或公司\ MaryJones 启动Jenkins工作, Company \ ServiceAccount 也会记录在TFS中完成办理登机手续。
为了更好的可追溯性,我希望能够使用当前登录到Jenkins 的用户凭据(无论是JohnSmith还是MaryJones还是其他任何数百个用户), 并传递该用户名&用于连接到TFS的PowerShell脚本的密码。结果将是在TFS中将显示 JohnSmith / MaryJones 执行了签到而不是 ServiceAccount 。
我安装了以下Jenkins插件:
我希望能够自动将当前登录的用户凭据传递给PowerShell脚本。这是可能的,我该怎么做呢?
我不想每次都传递相同的凭据,我也不想让用户重新输入他们的用户名/密码作为参数。
答案 0 :(得分:0)
该脚本使用在Jenkins TFS插件中配置的用户/ TFS凭据Company\ServiceAccount
来执行TFS连接并签入操作。
无法自动将当前登录的Jenkins用户凭据传递给PowerShell脚本。
作为一种解决方法,您可以通过TFS构建管道执行此操作。由于您的源代码管理是在TFS中管理的,因此只需使用Jenkins构建。
您只需添加一个Jenkins Queue Job任务,该任务将在TFS构建定义中将作业排入Jenkins服务器上。
然后添加powershell脚本任务以执行合并和签入操作。关于如何使用powerShell将代码提交到TFS,请参阅此blog。最后,用户将Jenkins Job排队,然后在TFS中检入代码。