我对持续集成服务器比较陌生.我一直在使用GitLab(v6.5)来管理项目,但我想开始使用GitLab CI来确保测试通过并且构建成功.
我的测试设置包括两个虚拟机:一台用于GitLab,另一台用于GitLab CI(和跑步者).但是,在生产中我只有一台机器,它正在运行GitLab.GitLab团队发布了一篇有趣的博客文章,强调:
如果您在CI服务器上运行测试,那么您做错了!
这是一个非常翔实的帖子,但我并没有感觉到我理解这个特定点.这是否意味着不应该在同一台服务器上运行GitLab和GitLab CI?这是否意味着不应该在同一台服务器上运行GitLab CI和GitLab CI运行器?或者两者兼而有之 - 我是否需要三台服务器,每项任务一台?
来自同一篇文章:
任何可以推送到CI服务器上测试的分支的人都可以轻松拥有该服务器.
这对我来说意味着跑步者是安全风险,因为他们可以运行提交中包含的东西.如果是这种情况,那么典型的实施是什么?把GitLab和GitLab CI放在同一台机器上,但是跑步者在一台单独的机器上?如果跑步机受到损害,它还不会吮吸吗?所以只要他们的代码机安全,人们可以丢失他们的跑步机吗?
我真的想更多地理解这一点 - 绝对在我在生产中实现它之前.有没有可能安全的方法在同一台机器上实现GitLab,GitLab CI和GitLab CI跑步者?
理想情况下,您可以在同一主机上运行gitlab-ci和gitlab.其他人可能不同意我,但是orechestrator(gitlab-ci节点)没有做任何繁重的工作.它严格的工作元IO和仓储结果.
话虽如此,我不会把跑步者放在同一台机器上.Gitlab-CI Runners是资源密集型的,无论您将它们放在哪台机器上,它都会全面执行.如果你在生产中运行将这些放在现场实例上以帮助控制运行常常cpu /内存饥饿构建的一些成本,这是一个好主意 - 但是因为你的实例并不总是在那时开始,所以这是不切实际的.
我已经取得了一些成功,将我的gitlab-ci跑步者放在数字海洋中的小实例上.我不是在进行巨大的构建,但我的想法是将工作负载分配给多个服务器,以便您的CI服务器:
以及其他一些不会马上想到的事情.
希望这可以帮助!
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1459 次  |  
        
|   最近记录:  |