我想开始将laravel应用程序部署到生产环境中。为了避免在不久的将来更改AWS配置,我决定尝试添加持续集成。为此,我使用弹性beanstalk,并使用另一个AWS工具将代码推送到那里。所有这一切都运行良好。我在/public/index.php中放置了一条测试消息,以输出“ hello world”,并且在转到URL时可以按预期工作。当我删除此文本并正常运行laravel应用程序时,出现500内部服务器错误。我不确定弹性Beantalk在laravel应用程序部署中会做什么。因此,我不确定此错误是否是由于数据库连接错误或laravel应用程序尚未完全安装引起的。
我在弹性beantalk之外创建了一个RDS数据库实例。我可以从sequel pro上访问它,并添加了用于存储所有数据的数据库。我将所有必需的数据库连接值(主机,端口,数据库,用户名,密码)添加到了/config/database.php和elastic beantalk服务器配置环境变量中。
我已经在线搜索了几天以获取信息,但未找到与此相关的任何内容。我的问题的一部分还在于缺乏对在beantalk中部署期间如何配置laravel的理解。 /.ebextensions是否可以帮助我实现这些目标?
当我部署代码时,我需要确保通过composer安装了所有供应商文件,然后还需要确保进行了所有数据库迁移/更改。我想自动执行尽可能多的步骤,这样我就可以推动代码更改,服务器将更改代码并继续工作。
我还想确保没有任何关于设置数据库连接的内容。是否需要在laravel中设置其他文件,或者在弹性beantalk中是否需要配置文件?我让数据库对所有连接保持开放状态,以后可以加强限制。
编辑:我的数据库可能尚未正确配置,但是该问题不是问题的根源。我认为我的问题是知道在部署期间哪些脚本以及如何运行它们。我想确保已运行composer和php artisan migration,以使所有内容保持最新。如何使用弹性豆茎来做到这一点?
这是一个不太重要的话题,但是根据我的经验,我不建议使用beantalk来实现良好的工作流推送和部署。我建议您可以使用Forgelaravel.com部署GitHub存储库。在Forge Laravel中,您将能够从AWS创建服务器,它将自动创建数据库连接和填充,然后只需单击一下即可部署到服务器并保持良好的工作流程。