首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从gitlab.com CI管道在aws EFS上部署文件

从gitlab.com CI管道在aws EFS上部署文件
EN

Stack Overflow用户
提问于 2018-08-30 03:59:09
回答 1查看 1.2K关注 0票数 4

从Gitlab CI管道在aws EFS中部署文件的最佳实践是什么?

目前,我们通过ssh将文件从gitlab.com部署到EFS,部署到一个挂载了EFS的EC2实例。不太喜欢让ssh访问gitlab到我们的EC2实例

EN

回答 1

Stack Overflow用户

发布于 2018-08-30 04:13:20

如果您希望这些文件最终存储在EFS上,那么最终您必须将它们从挂载了EFS卷的系统写入EFS。除了写入它提供的nfs挂载卷之外,没有其他方法可以写入EFS。( EFS提供了FileSync服务,AFAICT仅包装了创建EC2实例并通过它将数据移动到EFS的过程,但这看起来更适合于迁移,而不是正在进行的文件操作)。

这并不意味着你必须允许gitlab ssh进入。您可以让gitlab将文件存放在某个位置,并通知系统。或者,您可以让系统轮询更改。但所有这些似乎都不像您的实现那样简单。

另一种选择是限制ssh用户可以执行的操作。这将需要一些调查来确定gitlab文件复制过程到底是如何工作的。如果它只使用SFTP或SCP,您应该能够将用户限制为只使用SFTP或SCP,并且用户文件系统权限可以防止用户写入不适当的位置。

总而言之,我没有看到很多devops构建流将代码复制到共享文件系统。NFS是共享文件的有效解决方案,但也有其自身的缺陷。相反,部署过程通常构建某种类型的包,然后使用部署钩子(“持续交付”-style)自动部署包,或者手动更新部署自动化以升级版本。通常,这两者将结合在一起,为开发环境提供持续的交付过程,并为生产提供手动版本设置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52085227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档