繁体   English   中英

Jenkins TFS凭证绑定

[英]Jenkins TFS Credential Binding

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

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

  • 公司\\ JohnSmith
  • 公司\\ MaryJones
  • 公司\\服务帐户

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

目前,PowerShell脚本使用Company \\ ServiceAccount来完成TFS中的合并和签入。 这样做的问题是,即使Company \\ JohnSmithCompany \\ MaryJones启动了Jenkins作业, Company \\ ServiceAccount也已记录在TFS中,已完成签入。

为了获得更好的可追溯性,我希望能够使用当前登录到Jenkins的用户(无论是JohnSmith或MaryJones还是其他数百个用户)的凭据,并将该用户名和密码传递给PowerShell脚本以进行连接到TFS。 结果将是,在TFS中它将显示JohnSmith / MaryJones而不是ServiceAccount进行了签入。

我已经安装了以下Jenkins插件:

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

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

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

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

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

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

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

然后添加一个powershell脚本任务来执行合并和签入操作。 有关如何使用powerShell将代码提交到TFS的信息,请参阅此博客 最后,将用户排入Jenkins Job队列,然后在TFS中签入代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM