由于 aws-exports,AWS 放大部署失败

Tel*_*ies 22 amazon-web-services reactjs serverless aws-amplify

我正在尝试将我的 reactJs 应用程序部署到 Amplify。我的 Github 连接到 Amplify。在部署期间,它在构建步骤中显示以下错误:

2020-01-07T19:35:22.127Z [INFO]: Failed to compile.
2020-01-07T19:35:22.129Z [INFO]: ./src/index.js
                                 Cannot find file './aws-exports' in './src'.
2020-01-07T19:35:22.149Z [WARNING]: error Command failed with exit code 1.
2020-01-07T19:35:22.150Z [INFO]: info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
2020-01-07T19:35:22.155Z [ERROR]: !!! Build failed
2020-01-07T19:35:22.239Z [ERROR]: !!! Non-Zero Exit Code detected
2020-01-07T19:35:22.239Z [INFO]: # Starting environment caching...
Run Code Online (Sandbox Code Playgroud)

发生这种情况是因为.gitignore忽略了 aws-exports。有人可以告诉我在不提交 aws-exports 的情况下解决此问题的方法是什么?

Ped*_*lva 25

我在第一次构建时遇到了同样的问题。由于aws-exports包含敏感信息,因此将其添加到 .gitignore 文件是正确的。

Amplify 文档没有具体说明在使用 Amplify 控制台时应该如何维护构建,但对我有用的例程是:

aws-exports当您运行成功的amplify push命令时,您将生成您的文件。

aws-exports.js 文件 此文件仅为 JavaScript 项目生成。它包含所有类别的合并输出,并放置在用户(开发人员)在 init 过程中指定的 src 目录下。它在每次成功执行 amplify push 命令后更新,即已创建或更新云资源。

基于此,我更新了 Amplify 控制台中的配置以部署我的后端。您可以在https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html了解如何配置自己的

backend:
  phases:
    build:
      commands:
        - '# Execute Amplify CLI with the helper script'
        - amplifyPush --simple
Run Code Online (Sandbox Code Playgroud)

后端构建完成后,将为我的下一个工作生成文件,即使用该aws-exports文件的前端构建。

注意:如果您使用的是 eslint,则文件输出格式可能会出现问题。您可以eslint --fix在前端添加命令preBuild

更新:正如lucdenz提到的,您还需要设置一个服务角色

我使用的来源:

  • 还需要服务角色。可以在此处找到文档:https://docs.aws.amazon.com/amplify/latest/userguide/how-to-service-role-amplify-console.html (3认同)
  • 尝试了这个,但构建失败,并显示消息“资源不在 stackUpdateComplete 状态”,还有其他人得到这个吗? (3认同)