在jenkins构建中包含.env文件的最佳做法是什么?

时间:2015-05-22 00:39:06

标签: django jenkins docker environment-variables 12factor

这是我的情况: 我有一个Django应用程序,它取决于存储在.env文件中的配置值。此.env文件与源代码管理分开,以保持敏感信息的私密性。这个Django应用程序部署在一个docker容器中,我将jenkins设置为在将更改检入我们的git存储库时重建容器。除非构建环境中存在.env文件,否则构建将失败。包含该文件的最佳方法是什么?

我目前有jenkins设置执行shell命令将文件写入构建环境,但我不禁觉得这是次优的,安全性方面。什么是更好的方法呢?

2 个答案:

答案 0 :(得分:1)

我们提出的答案是将文件存储在s3上,并使用aws cli在构建时获取文件。由于构建注定要上传到ec2,因此对两个操作使用aws凭证都是有意义的。

答案 1 :(得分:0)

将文件包含在仅授予您/授权用户访问权限的源代码中会破坏您的隐私政策吗? 此外,您可以尝试始终将文件保留在Jenkins工作空间目录中,并且在清理工作区时永远不要删除它。