如何为特定用户隐藏TeamCity配置?

9
我有一个TeamCity项目 Dac.Test,其中包含3个配置:DEVQAPROD
同时,我有一些用户关联了他们的角色。是否可以为特定用户或组隐藏/显示某些配置?
例如:与组测试人员(Testers)相关联的用户可以看到QA配置,但不能看到PRODDEV

你所说的“隐藏”,是指“完全防止他们以任何方式访问”,还是仅仅是“从仪表板中删除,但如果他们搜索它,他们仍然可以找到它”? - Matt
@Matt 我的意思是“以任何方式防止他们访问”。 - Dariusz
达里奥,你解决这个问题了吗? - John Hoerr
@John 不是很好。这些解决方案都不适用于我。正如Mat所说:这个功能不存在。 - Dariusz
好的,很抱歉我们无法提供更多帮助。如果您在管理构建方面有更多的灵活性,我认为使用基于项目的角色管理会很有效。祝你好运! - John Hoerr
我仍然无法相信这个功能在2018版本中仍然不可用。我想不出为什么产品团队没有将其优先考虑。 - A.K.Desai
2个回答

10

无法对每个构建进行用户权限管理,这仅在项目级别上可用。您可以在 Dac.Test 项目中创建子项目来满足此需求。

如果您正在寻找一种防止人们错误运行此构建的方法,则以下方法将起作用。

此方法使用提示框,在单击运行按钮后会弹出该提示框,还需要用户输入以确认他们想运行构建。 没有人能够意外运行此构建

  1. 转到 TeamCity UI 中的构建配置
  2. 从这里,转到“编辑配置设置”->“参数”->“添加新参数”
  3. 将参数名称设置为“Confirmation”之类的内容
  4. 然后在“Spec:”旁边,单击“编辑...”按钮
  5. 按照以下截图中所示设置参数:

enter image description here

现在单击运行按钮时将提示您并要求确认。用户必须在出现的提示框中输入“YES”,否则任何其他值都将阻止用户构建: enter image description here


3
这可以通过使用TeamCity内置的角色管理来实现最佳效果。 角色允许您针对用户和群组设置细粒度的权限。 不过,可能存在一个潜在问题,那就是角色仅适用于项目(而非构建配置)。 您需要创建单独的Dac.Test QA项目和配置,并向您的测试人员提供必要的特权。 您还需要确保他们被剥夺了Dac.Test项目的所有特权。

那是真的。但不幸的是,我无法以那种方式分离我的配置。 - Dariusz
你能再多说一些吗?也许有一种解决方法。 - John Hoerr
您可以基于共享项目中的共享模板,然后在受保护的项目中从该模板创建构建。 - Matt
@Matt 今天我学到了一些东西——谢谢!我一直试图直接从项目A的模板中创建项目B的构建配置。但是你必须先在项目B中创建一个空的配置,然后将其与项目A中的模板关联起来。我的理解正确吗? - John Hoerr
2
@Dario,该功能不存在,您需要将配置放入单独的项目中并保护这些项目。 - Matt
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接