作为一个初学者,我已经意识到了经常关闭生产服务器来进行更改所带来的问题,因为现在我有几个用户在使用生产服务器。
我创建了我的实时服务器的 EC2 映像,并在 EC2 上设置了一个单独的实例,因此现在我有 2 个 EC2 实例,Stage 和 Production。我设置了 GitHub,将更改推送到 stage 并在那里测试我的代码,当一切完成并正常工作后,我将其推送到生产分支,一切正常。这里有一个小问题,因为我将文件命名为 config_stage.js 和 config_production.js,并在每台服务器上设置了 .gitignore,并且在我的代码中,我会让它读取 ENV 标志并设置适当的配置,这是正确的方法吗?
我的主要问题是:如何跟踪服务器的非代码更改?例如,我将 HAProxy、Stunnel、Redis、MongoDB 和其他一些东西安装在 Stage 服务器上进行测试,现在一切运行正常,我如何将它们部署到生产中?现在,我只是跟踪我安装的所有内容并复制配置文件,这非常繁琐,我担心我可能在某个地方错过了一步。
有没有更好的方法将这些更改从我的测试服务器移植到我的实时服务器?
答案1
你可以考虑使用织物收集、自动化和记录您的部署例程。它非常灵活,并为这些问题提供了一个非常巧妙的解决方案。