如何作为特定用户运行TeamCity构建

如何作为特定用户运行TeamCity构建,teamcity,Teamcity,我有一个将代码部署到计算机的构建配置。根据部署到的机器(例如dev/uat/prod),我需要以不同的用户身份运行 与其在构建文件中硬编码用户名和密码(由于安全原因,不可能定期更改),我希望能够在运行构建时输入它们。我设想TeamCity中的“运行自定义构建”会有这个选项,但我看不到任何地方可以输入这些信息 有什么方法可以做到这一点(除了远程处理到构建代理和更改构建代理运行的用户之外) 感谢Neil,您可以通过运行自定义生成对话框传递生成参数 有“系统属性”和“环境变量”部分,您可以在其中添加新

我有一个将代码部署到计算机的构建配置。根据部署到的机器(例如dev/uat/prod),我需要以不同的用户身份运行

与其在构建文件中硬编码用户名和密码(由于安全原因,不可能定期更改),我希望能够在运行构建时输入它们。我设想TeamCity中的“运行自定义构建”会有这个选项,但我看不到任何地方可以输入这些信息

有什么方法可以做到这一点(除了远程处理到构建代理和更改构建代理运行的用户之外)


感谢Neil,您可以通过运行自定义生成对话框传递生成参数

有“系统属性”和“环境变量”部分,您可以在其中添加新的生成参数或重新定义现有参数

请阅读更多信息:

与的组合将使密码成为“键入”参数插件

然后,当它在运行屏幕上输入时,它将在构建历史中不可见


编辑:很久以后,如评论中所述:您可能不想这样做。考虑拥有不同用户的单独池,以及参数来指定哪些池是由哪些池支持的。

谢谢-但是我如何确切地使用它来更改构建运行的用户帐户?在构建文件中(例如,对于Ant构建运行程序),您在这些地方写入${SuppuxAuth}和${ApdiabyPWD},其中存在用户名/密码。在生成属性中,为变量“deploy\u user”和“deploy\u pwd”指定默认值。使用RunCustomBuild对话框启动生成时,您可以为“deploy_user”和“deploy_pwd”指定任何其他参数,这些参数将在您指定它们的生成脚本中使用。如果您的构建不支持系统属性,您可以以类似的方式使用/设置环境变量。希望此帮助可以工作,但会将我的用户名和密码公开给其他所有可以查看构建历史的人。感谢anywayTeamCity 8指向typed params的链接:runas插件似乎可以在您拥有的每个构建上运行,这对我不起作用。它还值得阅读链接的文档,因为为输入的密码提供的保护不是非常强大。这似乎是一种处理凭据的非常不安全的方式,而且现在是一个休眠项目。是的,我不知道这样做的“安全”方式是什么。可能真的没有。我们已经转移到让每个代理“池”作为给定用户运行,然后允许某些生成在需要这些用户/权限的代理上运行。如何将runas.password作为必需的系统属性,并在运行生成之前提示它?