Ruby on rails Rails部署的最佳实践,以确保一切就绪

Ruby on rails Rails部署的最佳实践,以确保一切就绪,ruby-on-rails,deployment,Ruby On Rails,Deployment,我已经在一个新服务器上部署了一个rails项目,但是由于我们没有仔细测试,所以在使用中出现了很多错误,实际上这个版本太仓促了。因此,我想根据您的经验询问如何在部署中避免基本环境设置问题的最佳做法,主要是我遇到了以下问题: 我们在系统中使用,但我忘了初始化它的工人,因此后台作业失败,但在我意识到检查其状态之前,我没有任何异常 缺少一些必需的第三个库-我们使用html生成pdf,当用户使用它时会引发异常,这很奇怪 缺少第三个文件-我们正在使用/usr/share/dict/words,但AWS中缺少

我已经在一个新服务器上部署了一个rails项目,但是由于我们没有仔细测试,所以在使用中出现了很多错误,实际上这个版本太仓促了。因此,我想根据您的经验询问如何在部署中避免基本环境设置问题的最佳做法,主要是我遇到了以下问题:

  • 我们在系统中使用,但我忘了初始化它的工人,因此后台作业失败,但在我意识到检查其状态之前,我没有任何异常

  • 缺少一些必需的第三个库-我们使用html生成pdf,当用户使用它时会引发异常,这很奇怪

  • 缺少第三个文件-我们正在使用/usr/share/dict/words,但AWS中缺少它,需要手动安装,遇到异常才能实现

  • 有什么办法可以帮助我找到一个最好的方法来避免这种情况再次发生?添加自动测试,然后在部署后运行它?如果环境未就绪,是否将验证添加到config/application.rb引发异常


    任何建议都可能有帮助,谢谢

    首先,你在写测试吗?围绕您编写的每一段代码编写测试可以确保您在运行部署时能够随时掌握应用程序稳定性的脉搏

    CI服务器是将运行测试套件的持续集成客户端。您可以在每次提交时将这些服务与您的应用程序集成,以确保您和您的团队生成的每次提交都符合代码要求

    因此,为了保证我的部署是“无争议的”,我在部署之前看到所有这些测试都运行良好



    您还可以使用Capistrano编写部署时需要完成的事情的列表,如初始化(在您的情况下,是延迟的工作)。

    感谢您的回复,实际上我不是此部署中的系统管理员,只是一名开发人员,我编写测试,如果部署人员认为可以运行测试,他们会发现这些问题,不仅仅是查看页面。我想的是与部署人员合作的最佳方式,让他在服务器上运行测试?或者在环境未就绪时阻止他启动服务器,等等。@Zernel Yah当然,请确保执行部署的任何人都已运行所有测试,并坚持特定的部署模式。这将保证您的进程正在运行,并且代码正常运行。