我有一个用 NodeJS 编写的应用程序。 每次我在主分支上使用 git 推送代码时,代码都会自动部署到我的服务器上。一切工作正常。
但是我的 config
文件存在问题,该文件在本地服务器和远程服务器之间是不同的。
为了解决这个问题,我排除了 git config
文件并将其复制到 _config
。
在 _config
文件中,我放置了所有配置服务器,当代码部署到服务器时,我自动创建了 $ cp _config config
以便获取良好的配置值.
该解决方案有效,但我想知道这是否是部署我的 config
文件的最佳解决方案,以及将其放在 Bitbucket 上是否安全。
例如,如果我想与某人共享我的存储库,我不能,因为他会看到我的配置。
还有另一种解决方案可以做到这一点吗?
如果您有任何建议,请提前致谢。
最佳答案
您的解决方案工作正常,尽管它对您来说可能有点粗糙。
配置通常由两种类型的数据组成:
- 敏感数据(例如密码、 token 、凭据)
- 其他所有内容(例如常量、路径、位置、网址)
与生产计算机相比,这些类型的配置变量在您的开发计算机上可能有所不同(开发 API URL 与产品 API URL;开发 API 密码与产品 API 密码)。
第二种类型的配置数据可以提交到您的 git 存储库中,如果您这样做,这可能是最简单的。您可以为开发创建 1 个文件,为生产创建 1 个文件,例如根据环境变量加载正确的文件。
第一种类型 - 密码 - 不应提交给 git。即使您有私有(private)存储库也不会。这太危险了。相反,您可以使用您所描述的机制,或者您可以将密码放入您在生产环境中设置的环境变量中。
关于node.js - 如何使用 git 自动部署带有配置文件的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34567245/