将 Rails 6.1 部署到 AWS Elastic Beanstalk 的问题

Issue Deploying Rails 6.1 to AWS Elastic Beanstalk

关于将 Rails 部署到 AWS Elastic Beanstalk 的任何提示?我开始有真正的困难。我解决的每个错误都会导致另一个错误。 现在它在编译资产 warning: shebang line ending with \r may cause problems 时遇到问题,所以我通过将一个环境配置更改为暂时关闭它:RAILS_SKIP_ASSET_COMPILATION = true 现在是数据库问题。 我更新了东西,但每次都无法部署新版本并保留旧版本 运行...

您是否检查过您的 line-ending 格式是 Windows(CRLF 或 \r\n)还是 *NIX(单独的 LF 或 \n)?

如果您的源代码管理是 git,这两个选项都可用。 如果您在 Windows 上开发,或者如果您在未配置 git config core.autocrlf 的情况下在平台之间移动代码,您的源文件可能具有这两种不同的格式,这可能会混淆文本解释器。

您是否也检查过 AWS 是否有任何推荐的 Rails 版本?通常,如果您使用除 VM 之外的任何其他东西,云提供商将落后于 Ruby 和大多数其他 languages/frameworks。

所以另一种选择是在 VM(AWS 或 GCP 或 Azure 或 Digital Ocean 等)上部署 Rails,在这种情况下,您将拥有对一切的完全控制和你可以 运行 任何版本的 Rails 但它需要更多选项来打开入口端口并分配静态 IP 地址,从根本上说是虚拟机初始配置。

参考 git 行结束配置:

https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings

关于 Windows CRLF:

https://www.hanselman.com/blog/carriage-returns-and-line-feeds-will-ultimately-bite-you-some-git-tips