GitLab CI和分布式构建混淆
我对持续集成服务器比较陌生。我一直在使用GitLab(v6.5)一段时间来管理项目,但我想开始使用GitLab CI来确保测试通过并建立成功。GitLab CI和分布式构建混淆
我的测试设置由两台虚拟机组成:一台用于GitLab的机器和另一台用于GitLab CI(和跑步者)的机器。但是,在生产中,我只有一台运行GitLab的机器。 GitLab团队发布了一个interesting blog post,而后者则强调:
如果您在CI服务器上运行测试,那么您做错了!
这是一个非常丰富的文章,但我没有离开感觉就像我明白这一点。这是否意味着不应该在同一台服务器上运行GitLab和GitLab CI?这是否意味着不应该在同一台服务器上运行GitLab CI和GitLab CI跑步者?或者两者兼而有之 - 我是否需要三台服务器,每个任务一台?
从同一职位:
如果谁可以推到这是一个CI服务器上测试可以轻松拥有该服务器的分支。
这意味着对我来说,跑步者是安全风险,因为他们可以运行包含在提交中的东西。如果是这种情况,典型的实现是什么?把GitLab和GitLab CI放在同一台机器上,但是在单独的机器上运行?如果亚军机器受到威胁,它会不会仍然吸吮?所以,只要他们的代码机器安全,人们可以丢掉他们的亚军机器吗?
我真的很想多了解一点 - 在我将其应用于生产之前绝对是这样。是否有任何可能的安全方法在同一台机器上实现GitLab,GitLab CI和GitLab CI跑步者?
回答:
理想情况下,你可以在同一主机上运行gitlab-ci和gitlab。其他人可能会不同意我的看法,但是直销商(gitlab-ci节点)不会做任何繁重的工作。其严格的工作元IO和仓储结果。
就这样说,我会不是把跑步者放在同一台机器上。 Gitlab-CI Runners是资源密集型的,无论您将它们放置在哪个机器上,它都会全速执行。如果您在生产环境中运行这些应用程序以帮助遏制运行经常需要cpu /内存的构建的一些成本,那么这是一个好主意 - 但由于您的实例并非始终处于这种状态,因此可能不切实际。
我把我的gitlab-ci亚军在数字海洋中的小实例上取得了一些成功。我没有做巨大的建立,但这个想法是对分配几台服务器的工作负荷让你的CI服务器:
- 响应
- 可以建立多个项目建立在一次
- 可以锻炼隔离(这是在这个列表中的任意一种)
和其他一些事情,不会马上想到。
希望这会有所帮助!
以上是 GitLab CI和分布式构建混淆 的全部内容, 来源链接: utcz.com/qa/261301.html