每当在 Laravel AWS 管道中推送新版本时,我的环境就会被删除
My env gets deleted whenever new release is pushed in a Laravel AWS pipeline
- 我在 AWS Elastic Beanstalk 上安装了一个 Laravel 项目
- 我在服务器上创建了一个环境
- 我 运行
php artisan key:generate
命令并填充了我所有的环境变量
这很好用,我的应用程序启动了。但是后来我通过我的 CI 管道在我的服务器上推送了一些其他工作,但它会自动删除 env 文件。
另请注意,我已经在 .gitignore 中添加了我的环境,因此它不会推送我的环境。
我认为这是因为 Elastic Beanstalk 会在发布新版本时自动删除旧文件并创建新文件。
以下是我的 composer.json 脚本部分:
"autoload": {
"psr-4": {
"App\": "app/",
"Database\Factories\": "database/factories/",
"Database\Seeders\": "database/seeders/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\Foundation\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
}
我发现我需要在每次发布新版本时都创建 env,或者我可以在 AWS 给出的 ebextension config settings
中设置 env 变量,所以我最终将 env 变量设置到里面的配置文件ebextension.
因此,每当您通过管道发送新版本时,env 都会被删除,因为它包含在 git ignore 中是正常的。
- 我在 AWS Elastic Beanstalk 上安装了一个 Laravel 项目
- 我在服务器上创建了一个环境
- 我 运行
php artisan key:generate
命令并填充了我所有的环境变量
这很好用,我的应用程序启动了。但是后来我通过我的 CI 管道在我的服务器上推送了一些其他工作,但它会自动删除 env 文件。
另请注意,我已经在 .gitignore 中添加了我的环境,因此它不会推送我的环境。
我认为这是因为 Elastic Beanstalk 会在发布新版本时自动删除旧文件并创建新文件。
以下是我的 composer.json 脚本部分:
"autoload": {
"psr-4": {
"App\": "app/",
"Database\Factories\": "database/factories/",
"Database\Seeders\": "database/seeders/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\Foundation\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
}
我发现我需要在每次发布新版本时都创建 env,或者我可以在 AWS 给出的 ebextension config settings
中设置 env 变量,所以我最终将 env 变量设置到里面的配置文件ebextension.
因此,每当您通过管道发送新版本时,env 都会被删除,因为它包含在 git ignore 中是正常的。