Gitlab:访问私有存储库的分支

时间:2017-01-11 20:36:36

标签: git gitlab

我们正在尝试将Gitlab的私有部署用于大学模块。以下是我们要做的事情:

  • 每个课程练习都将托管在私人git存储库(在一个组中)
  • 所有注册课程的学生都可以访问该资料库
  • 学生将分叉私人存储库,在本地克隆并开始工作
  • 学生将他的解决方案推送到他的存储库
  • 工作人员将提取所有学生的成绩并对其进行评分(希望通过自动评分)

一切都很好,除了我们无法访问学生分发的私人存储库。我们有一个好主意,让每个学生在他们的个人资料中添加公共SSH密钥,但是唉! It is not possible since SSH keys have to be unique to each user ..有没有解决方法呢?

3 个答案:

答案 0 :(得分:2)

Gitlab确实有一个名为“Deploy Keys”的功能,它授予对项目的只读访问权限,学生需要手动将公钥添加到他们的项目中,但它会为您提供对其工作的访问权限。 / p>

我认为它与标准用户密钥没有相同的限制。

引用他们的文档“部署密钥允许使用单个SSH密钥对多个项目进行只读访问。”

进一步详情(https://docs.gitlab.com/ce/ssh/README.html#deploy-keys

答案 1 :(得分:0)

对于那些现在看到这一点的人,我们设法使用@jdow建议的混合使用部署密钥和组来完成此任务。但是,这个解决方案有点像黑客并且有一些缺点,包括:

  • 工作人员无权访问存储库
  • 学生必须手动为每个分叉存储库启用部署密钥

因此,我提出了一个名为" gitlab教室的新功能"我有detailed here

答案 2 :(得分:0)

部署密钥是否意味着所有学生都可以看到彼此的存储库?这似乎是不可取的。