【问题标题】:My env gets deleted whenever new release is pushed in a Laravel AWS pipeline每当在 Laravel AWS 管道中推送新版本时,我的环境都会被删除
【发布时间】:2021-08-14 02:40:42
【问题描述】:
  1. 我在 AWS Elastic Beanstalk 上安装了一个 Laravel 项目
  2. 我在服务器上创建了一个环境
  3. 我运行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"
        ]
    }
}

【问题讨论】:

  • 你在使用 Laravel 和 composer 吗?您是否收到以下错误:RuntimeException No application encryption key has been specified.?如果您正在使用 composer 密钥生成可能会通过post-create-project-cmd 或类似方式自动为您处理。 See here for more details
  • 是的,此错误已显示,但由于 env 被删除,所以应用程序密钥自然也被删除。你能告诉我如何阻止 env 被删除吗?
  • 你在使用composer吗?如果是这样,您能否更新您的问题以包含您的composer.json 文件的scripts 部分的示例?它应该包括一个类似于此的条目:"post-create-project-cmd": ["php artisan key:generate"]You can learn more about composer scripts here
  • 是的,我在我的问题@dusthaines 中包含了我的作曲家文件脚本部分

标签: amazon-web-services amazon-elastic-beanstalk aws-codepipeline


【解决方案1】:

我发现我需要在每次发布新版本时创建环境,或者我可以在 AWS 提供的 ebextension config settings 中设置环境变量,所以我最终将环境变量设置为 ebextension 内的配置文件。

因此,每当您通过管道发送新版本时,该 env 被删除是正常的,因为它包含在 git ignore 中。

【讨论】:

    猜你喜欢
    • 2020-10-04
    • 2021-04-03
    • 1970-01-01
    • 2019-08-05
    • 2022-01-25
    • 2020-03-29
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    相关资源
    最近更新 更多