2013-07-29 103 views
7

GitLab具有这种很好的“部署密钥”功能,可用于CI服务器读取和拉取存储库,因为他们通常不需要更多。但是,我需要创建标签并将其推送到存储库,以标记从“主”分支构建的每个发行版。推送到CI服务器中的GitLab存储库(部署密钥)

更具体地说,我有一个Jenkins任务,每次构建触发时都会从'master'分支构建发行版本。如果工作成功,我想用发行编号标记'master'分支HEAD以备将来参考。

我相信我不能使用'部署密钥'功能来做到这一点。那么,我该如何去做和做到这一点?我不确定我可以创建一个额外的用户,只是为了这个,并让他访问该项目......导致每个使用GitLab访问的用户都与LDAP绑定。

有什么建议吗?

回答

3

这是正确的一个部署密钥没有(也不会)有写权限的项目(如issue 2134所述)。

这使得您:

  • 创建LDAP一般帐户(如果这些账户被授权在您的组织)
  • 在一个单独的LDAP服务器创建一个虚拟账户(但gitlab omniauth-ldap不支持多个LDAP声明)。
+0

如果我创建了一个单独的SSH密钥(只是不要将它与我自己的密钥混合),并将其添加到每个人的帐户(即每个应该有权访问该项目的人),它会工作吗?这样,如果我离开,我的帐户被删除,它会继续工作......或者这不会工作? –

+0

@RicardoAmaral它可以,但这将涉及共享私人SSH密钥,这是一个很大的禁忌。 *特别是*用于具有*写入*访问的帐户。 – VonC

+0

是的,我知道。这就是为什么我要从我自己的角度创建一个单独的。一个可以与开发团队共享*的人员,负责设置Jenkins系统的人员。我看到的另一个问题是,使用此SSH密钥推送会将提交与开发人员关联,如果来自“Jenkins CI”用户或类似用户,则会更好,以区分它们。 –

相关问题