Ruby on rails 如何在git上打开代码并使用正确的配置文件维护部署脚本?
我在github上开发了一个应用程序。我想把它开源。目前,我们使用capistrano脚本部署到我们的暂存和生产服务器 我试图弄清楚如何将配置文件放在单独的repo中,并且仍然使用capistrano执行一键部署。我们的目标是,我们可以开放回购协议供任何人使用。您有一些选择Ruby on rails 如何在git上打开代码并使用正确的配置文件维护部署脚本?,ruby-on-rails,git,open-source,capistrano,Ruby On Rails,Git,Open Source,Capistrano,我在github上开发了一个应用程序。我想把它开源。目前,我们使用capistrano脚本部署到我们的暂存和生产服务器 我试图弄清楚如何将配置文件放在单独的repo中,并且仍然使用capistrano执行一键部署。我们的目标是,我们可以开放回购协议供任何人使用。您有一些选择 使用环境变量:您可以在本地机器和生产机器上设置环境变量。在应用程序中,您可以通过执行以下操作来阅读这些变量:。这样,你就可以将你的应用提交给公共回购,而不用担心暴露密码和密钥等敏感信息。例如,设置一个db_password
- 使用环境变量:您可以在本地机器和生产机器上设置环境变量。在应用程序中,您可以通过执行以下操作来阅读这些变量:
。这样,你就可以将你的应用提交给公共回购,而不用担心暴露密码和密钥等敏感信息。例如,设置一个db_password环境变量来存储数据库密码,并将其存储在数据库中。yml您可以通过以下操作读取它:password:
- 您可以使用gems link dotenv()或figaro():通过使用这些gems,您不需要在机器上手动设置环境变量,而是在.env文件中定义它们。您可以使用
以相同的方式阅读它们。您必须忽略.gitignore上的.env文件,并告诉capistrano在生产服务器上创建从.env文件读取的环境变量 - 另一种选择是为开发和生产生成不同的配置文件,并在.gitignore中忽略它们。您可以将配置生产文件存储在不同的repo中,并在部署时在计算机上进行更新。更新生产服务器上的应用程序repo后,只需将配置文件从本地计算机复制到生产服务器()
- 应用程序:
- 供应和部署: