将现有的Gitlab运行器分配给新项目

时间:2018-04-05 02:34:29

标签: continuous-integration gitlab devops gitlab-ci gitlab-ci-runner

所以,我对Gitlab中的某个组拥有所有者权限(不是私有托管的实例),并且有一个注册的跑步者,我想将其分配给一个新项目以便将其用于CD(它正在其他地方使用)项目我是所有者)。但是,我没有在CI / CD跑步者设置中看到它,即使它没有锁定一个项目。我也尝试了这个https://docs.gitlab.com/ee/api/runners.html#enable-a-runner-in-project解决方案(API调用)Gitlab提供但似乎跑步者不存在(一般错误,它表示页面不存在或我没有权限)。 我认为它可能是一个权限问题,但它没有意义(或者它没有?)因为我拥有所有者权限。他们在文档中说: "如果您是分配了特定Runner的项目的Master,并且Runner未仅锁定到该项目,您也可以在拥有Master权限的任何其他项目上启用Runner。

启用/禁用项目中的Runner:

访问您的项目的设置> CI / CD 找到您要启用/禁用的Runner 单击此项目的启用或此项目的禁用"

而且,我无法找到它。这听起来像是文档上的错误/错误还是我缺乏知识?如果是我缺乏知识,你对可能的解决方案有任何想法吗?

1 个答案:

答案 0 :(得分:1)

TL; DR: 这似乎是某种群组权限错误。 一种可能的解决方法是创建另一个用户并邀请他使用该特定跑步者的项目,作为主人(非所有者),然后邀请他到您想要指定该特定跑步者的项目。然后,你将在特定的跑步者下获得该跑步者。

好吧,这似乎是gitlab / gitlab-runner权限的问题,或者只是一个相当奇怪的行为。这是有人在项目的问题部分写的(https://gitlab.com/gitlab-org/gitlab-runner/issues/1322):

"请考虑以下设置:

user_A是project_1的所有者,runner_R是使用project_1的令牌注册的 user_A是project_2的所有者

- >来自project_2

的user_A不显示runner_R

user_A是project_1的推广大师

- >现在,来自project_2的user_A可以看到runner_R

因此我的结论是:

我不需要成为一个项目的主人,从我拥有的项目中选择一个跑步者,作为一个拥有者也是如此 作为一个项目所有者是不足以让一个项目的跑步者从另一个项目中看到我,我需要掌握跑步者注册的项目"

我希望面对同样问题的人可能会有所帮助。