在GitLab的同一服务器上运行CI?


12

我在公司中设置了一个GitLab服务器,现在向它添加了GitLab CI。

在开始此任务之前,我想了解在GitLab和GitLab CI使用的同一服务器上运行运行程序是否有任何不利之处。

我读过有安全性问题,但我们仅在内部使用它,因此我认为这可能不是问题。

我想念什么吗?

Answers:


11

想象以下情况:

  • 内部开发人员想伤害公司(因为认为工资不高,因为他的老板和妻子一起睡觉;原因无关紧要),他进行了单元测试,该单元测试在运行时而不是测试应用程序,而是搜索GitLab存储库并删除它。在下一次提交时,令人惊讶的是,项目的所有源代码都丢失了(但是您进行了备份并进行了测试,对吗?)

  • 或者,同一位开发人员注意到在同一台计算机上配置了存储库的备份。他通过单元测试来更改此配置,以使备份现在包含另一个存储库,并等待一个月(即保留备份的时间)。现在所有备份都已损坏,他可以提交单元测试,从服务器中清除源代码。

  • 或者实习生想将源代码出售给竞争对手。您已经仔细配置了访问权限,并将其限制为仅满足他的工作需要。同时,他可以通过单元测试无限制地访问存储库本身,并且能够执行完整的转储。

除非单元测试在权限受限的上下文中运行并且无法访问测试所需的目录和文件以外的其他内容,否则将CI服务器与保留您的存储库的服务器混合使用确实是危险的。

另一个问题是版本控制服务器应该很快。安装在同一台计算机上的CI服务器可能会降低提交速度。


8
我们是3位开发人员...如果我们当中有人想伤害公司,他可以通过数千种方式来做到这一点=(...因此,唯一的问题将是性能降低,但是如果我使用一台好的机器,我应该不会有太大的影响麻烦吧?谢谢!
Fez Vrasta 2014年

ps:chroot呢?不能用来确保过程安全吗?
Fez Vrasta 2014年

4
@FezVrasta:如果您的情况下安全性不是问题,性能也不是问题,那么拥有独立机器的唯一好处就是未来的可扩展性。但坦率地说,在可伸缩性问题出现之前进行更改看起来类似于过早的优化。
2014年

@FezVrasta:“ chroot怎么样?不能用来确保过程安全吗?” -我在Unix安全方面没有足够的技能来回答这个问题。
2014年

0

鉴于没有用于git的中央“全知”服务器,这与其他一些源代码控制系统一样不错。

如果有一个自动的git服务器不在场上到另一个git服务器(已经过测试),则我不会在小公司中担心此设置。

理想情况下,我希望看到开发人员将他们的更改推送到偏移服务器git服务器,然后再将CI服务器从偏移服务器中提取费用–这样,每次完成签入后,都会测​​试异地服务器。

如果开发人员然后总是从现场服务器撤出以节省时间,那不是问题。


1
如果我需要2台服务器...为什么我不应该只在2台服务器上运行跑步程序?
Fez Vrasta 2014年

@FezVrasta,“ 异地服务器”可以是向您出售git托管的任何人,而不必是您拥有的服务器。另外,由于它是通过Internet进行的,因此从中进行拉动将很慢。
2014年

1
我正在为我的公司设置它,我们使用自己的服务器...
Fez Vrasta 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.