Continuous integration Gitlab.com私人项目CI

Continuous integration Gitlab.com私人项目CI,continuous-integration,gitlab,gitlab-ci,gitlab-ci-runner,Continuous Integration,Gitlab,Gitlab Ci,Gitlab Ci Runner,摘要:我们关注的是一份关于Gitlab.com私人项目CI的文档 注意:这是参考Gitlab.com(和不是一个自托管的Gitlab) 关注:我们发现了这个链接 我的解释:不建议在默认的Gitlab CI运行程序中构建私有项目 这个解释有效吗?关注程度如何 您认为这方面的最佳做法是什么 问题: 在私人项目中使用Gitlab.com共享的CI运行程序可以吗 我们的解决方案:当且仅当我们需要一个替代方案时(此方案的POC已成功实施) 我们创建了一个EC2实例(一个专用框) 已将Gitlab

摘要:我们关注的是一份关于Gitlab.com私人项目CI的文档

注意:这是参考Gitlab.com(和不是一个自托管的Gitlab)

关注:我们发现了这个链接

我的解释:不建议在默认的Gitlab CI运行程序中构建私有项目

  • 这个解释有效吗?关注程度如何
  • 您认为这方面的最佳做法是什么
问题

  • 在私人项目中使用Gitlab.com共享的CI运行程序可以吗
我们的解决方案:当且仅当我们需要一个替代方案时(此方案的POC已成功实施)

  • 我们创建了一个EC2实例(一个专用框)

  • 已将Gitlab Runner安装到机箱中

  • 已将EC2实例连接到Gitlab

  • 已从项目设置中禁用共享运行程序

  • 在CI运行时,它成功地将请求发送到我们的EC2实例


: 我的解释是错误的Gitlab.com是完全安全的。引用的文档不适用于此用例

阅读Gitlab.com的回复:


答复引述:

GitLab.com上的共享运行程序是为每个CI作业配置的独立VM,并在作业执行后删除。这是记录在这里。 您引用的文档实际上是指作为用户,您现在正在设置和管理自己的跑步者的情况。这实际上是您在“我们的解决方案”部分中所做的。因此,安全问题是,在EC2实例上,如果运行程序被配置为使用Shell executor(例如,Shell executor),那么组织中可以在该EC2实例上的运行程序上执行CI作业的任何用户现在都可以执行对EC2实例上的文件系统具有完全访问权限的脚本。 这就是为什么在GitLab.com上,我们总是为每个作业创建新的独立VM