存储:通过 codecommit 将 Laravel 应用程序部署到 Elastic beanstalk 时链接无法正常工作

问题描述 投票:0回答:2

我正在使用 Elastic Beanstalk 环境来托管我的 Laravel 应用程序。

当我使用 EB CLI 进行部署时,我使用 CodeCommit 作为代码源。

最后,我使用 .ebextensions 文件夹中的 init.config 文件自动为我的 EC2 实例运行一些命令。

//init.config inside .ebextensions
container_commands:
    01storagelink:
        command: "php artisan storage:link"

当我进行部署时,此命令正在工作,但它将公共/存储链接到一个意外的路径(对我来说),如图所示:

其实应该是这样的:

我该如何解决这个问题? (同时我将继续研究)

amazon-web-services deployment amazon-elastic-beanstalk laravel-8 aws-codecommit
2个回答
0
投票

我已经找到了为什么它在暂存目录下创建符号链接:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-container-commands

遗憾的是我没有阅读文档的相关部分,但当时我有点着急。

我没有找到解决方案,而是发现我需要设置外部存储:

如何在 aws Elastic beanstalk 中更新 laravel 项目,同时保持相同的存储

因此,我设置了一个 S3 存储桶,暂时不需要存储:链接。


0
投票

AWS EB 部署工作流程由多个不同的阶段组成。

正如您所提到的,

/.ebextensions
中的命令文件在
/var/app/staging
工作区中运行。

因此,所有与应用程序相关的命令都应在部署后阶段执行。

运行 .platform/hooks/postdeploy 中找到的任何可执行文件 源包的目录

© www.soinside.com 2019 - 2024. All rights reserved.