如何允许Gitlab上的CI_作业使用非公共的项目模板? 情况/设置
我想在多个项目上为我的如何允许Gitlab上的CI_作业使用非公共的项目模板? 情况/设置,gitlab,gitlab-ci,gitlab-ci-runner,access-denied,Gitlab,Gitlab Ci,Gitlab Ci Runner,Access Denied,我想在多个项目上为我的.gitlab ci.yml使用一个(或多个)ci模板 所以我所做的是我有一个名为mygroup的小组和该小组中的一些项目(让我们称它们为foo,bar和baz)。 除了这些项目之外,我还有一个名为mygroup ci的项目,它应该提供mygroup中的项目所使用的ci模板 因此,在所有项目foo、bar和baz中,我使用这个.gitlab ci.yml,它在同一个gitlab实例上的项目mygroup ci的文件夹templates中包含一个名为gitlab ci tem
.gitlab ci.yml
使用一个(或多个)ci模板
所以我所做的是我有一个名为mygroup
的小组和该小组中的一些项目(让我们称它们为foo
,bar
和baz
)。
除了这些项目之外,我还有一个名为mygroup ci
的项目,它应该提供mygroup
中的项目所使用的ci模板
因此,在所有项目foo
、bar
和baz
中,我使用这个.gitlab ci.yml
,它在同一个gitlab实例上的项目mygroup ci
的文件夹templates
中包含一个名为gitlab ci template.yml
的文件:
包括:
-项目:“mygroup/mygroup ci”
参考号:master
文件:'/templates/gitlab ci template.yml'
问题
以上设置一切正常,但我遇到了一个问题:
在我的gitlab ci template.yml
工作流中,有一个阶段(称为release
)创建一个特定项目的版本,并推送一个新的标记
,然后再次激活一个管道,在这种情况下,该管道由gitlab运行程序本身启动
不幸的是,gitlab运行程序没有从mygroup ci
提取项目范围gitlab ci模板的权限,因为对于私有项目,根本不允许这样做
问题:
由于我无法在此gitlab实例上公开该项目,因此我需要找到一种方法使此gitlab模板可用于gitlab ci作业。是否有任何方法,例如为gitlab runner创建一个特定的令牌,它是一个名为
@project\u 2393\u bot
?的ci bot,这在私人项目中应该可以正常工作。但是,触发CI作业的用户必须具有使用模板访问项目的权限。使用属于具有私人项目权限的bot/用户的令牌也可以工作。