【发布时间】:2018-06-13 02:51:00
【问题描述】:
我有一个庞大的用户团队使用相同的 Active Directory 凭据登录 TFS 和 Jenkins。
可用于访问TFS 和 Jenkins 的 AD 帐户示例:
- 公司\约翰史密斯
- 公司\MaryJones
- 公司\服务帐户
在 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 脚本。这可能吗?我该怎么做?
我不想每次都传递相同的凭据,也不想让用户重新输入他们的用户名/密码作为参数。
【问题讨论】:
-
不要认为这是可能的,但可以在 Merge 中使用解决方法,您可以使用 Jenkins 中的当前用户变量并将其放在合并注释/注释字段中。
-
谢谢@RyanMcVicar。如果没有其他办法,我会使用你的建议
标签: powershell jenkins tfs jenkins-plugins credentials