是否可以在Laravel的.env文件中引用Bitbucket存储库变量?

是否可以在Laravel的.env文件中引用Bitbucket存储库变量?,laravel,amazon-web-services,environment-variables,bitbucket-pipelines,Laravel,Amazon Web Services,Environment Variables,Bitbucket Pipelines,我正在尝试实现bitbucket管道,以便在AWS上连续部署。我试图实现的是在Laravel的.env.example文件中创建变量,最终从Bitbucket存储库变量中提取这些变量 基本上,我想在.env.example中定义变量,如下所示: DB_USERNAME="${DB_USERNAME}" DB_PASSWORD="${DB_PASSWORD}" 然后,我还使用相同的键名(例如DB_USERNAME)在Bitbucket的存储库变量中定义它们,然后在运行Bitbucket-pipe

我正在尝试实现bitbucket管道,以便在AWS上连续部署。我试图实现的是在Laravel的.env.example文件中创建变量,最终从Bitbucket存储库变量中提取这些变量

基本上,我想在.env.example中定义变量,如下所示:

DB_USERNAME="${DB_USERNAME}"
DB_PASSWORD="${DB_PASSWORD}"
然后,我还使用相同的键名(例如
DB_USERNAME
)在Bitbucket的存储库变量中定义它们,然后在运行Bitbucket-pipelines.yml时,我将.env.example复制到.env,如下所示
-cp.env.example.env

我期望它能做的,基本上是用我在Bitbucket存储库变量中定义的值替换
DB_USERNAME
,但这不会发生。相反,如果在部署后查看.env文件,则
DB\u USERNAME
的值是
${DB\u USERNAME}


你知道这是否可行吗?也许我做得不对?谢谢。

每个环境都指定了应用程序运行所需的变量。这就是为什么它们被称为环境变量。因此,在Bitbucket中,您将定义在Bitbucket管道中运行应用程序所需的变量值,然后AWS将具有在AWS上运行应用程序所需的环境变量值,等等。感谢您的评论。虽然,我理解这个过程,但我不明白为什么我的方法不起作用。所以,如果您有什么建议,请告诉我。因为您不会将环境变量拉入.env文件。环境文件适用于环境变量不可用或不易更新的情况,即在本地运行。让你的Laravel应用程序读取环境中的值。我认为你不明白我想要实现什么。我正在尝试使用Docker在AWS上自动部署我的项目。这意味着在构建映像时,我希望所有这些环境变量都包含在映像中,这样映像就可以保存为ECR中的二进制文件。因此,如果我需要在几秒钟内启动另一个相同的容器,我希望不用手动添加.env变量就可以完成。希望这能澄清问题。我最终要做的是,在访问bitbucket部署变量时,使用我在bitbucket-pipelines.yml中运行的sh脚本动态创建.env文件。每个环境指定应用程序运行所需的变量。这就是为什么它们被称为环境变量。因此,在Bitbucket中,您将定义在Bitbucket管道中运行应用程序所需的变量值,然后AWS将具有在AWS上运行应用程序所需的环境变量值,等等。感谢您的评论。虽然,我理解这个过程,但我不明白为什么我的方法不起作用。所以,如果您有什么建议,请告诉我。因为您不会将环境变量拉入.env文件。环境文件适用于环境变量不可用或不易更新的情况,即在本地运行。让你的Laravel应用程序读取环境中的值。我认为你不明白我想要实现什么。我正在尝试使用Docker在AWS上自动部署我的项目。这意味着在构建映像时,我希望所有这些环境变量都包含在映像中,这样映像就可以保存为ECR中的二进制文件。因此,如果我需要在几秒钟内启动另一个相同的容器,我希望不用手动添加.env变量就可以完成。希望这能澄清问题。我最终要做的是,在访问bitbucket部署变量时,使用我在bitbucket-pipelines.yml中运行的sh脚本动态创建.env文件。