Amazon web services 使用npm db迁移和Elastic Beanstalk

Amazon web services 使用npm db迁移和Elastic Beanstalk,amazon-web-services,amazon-elastic-beanstalk,dbmigrate,Amazon Web Services,Amazon Elastic Beanstalk,Dbmigrate,我正在尝试自动部署使用npm db migrate的nodejs应用程序的Elastic Beanstalk。我已经阅读了AWS文档,因为我似乎应该使用容器命令。我创建了一个文件10_db_migrate.config并包含以下命令: container_commands: dbmigrate: command: "./node_modules/db-migrate/bin/db-migrate up -e production" leader_only: true 我尝试

我正在尝试自动部署使用npm db migrate的nodejs应用程序的Elastic Beanstalk。我已经阅读了AWS文档,因为我似乎应该使用容器命令。我创建了一个文件10_db_migrate.config并包含以下命令:

container_commands:
  dbmigrate:
    command: "./node_modules/db-migrate/bin/db-migrate up -e production"
    leader_only: true
我尝试了许多路径组合,包括/tmp/deployment/application/node_modules/。。。但它们都返回了以下错误:

信息[2903]-[应用程序更新代码-管道-1579538046076-21b269f7103572f7a9d500d4158751de32e395c4@20/AppDeployStage0/EbExtensionPostBuild/Infra EmbeddedPostBuild/postbuild_0_MyAppAPI/Command dbmigrate]:活动执行失败,因为:/usr/bin/env:node:没有这样的文件或目录 (ElasticBeanstalk::ExternalInvocationError)


我错过了什么?

我让它工作起来了。问题的一部分是我试图让它变得比我需要的更难。我真正需要做的就是这样。下面是我的最后一个container_命令:

container_commands:
  00_node_binary:
    command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/node /bin/node"
  10_npm_binary:
    command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/npm /bin/npm"  
  20_dbmigrate:
    command: "./node_modules/.bin/db-migrate up"
    leader_only: true
我不久前发现了这一点,但我认为我还需要找到环境变量来做我想做的事情。经过一些额外的测试后,我能够确定我不需要访问环境变量,因此这符合我的需要。仍然想知道如何引用环境变量,以便在db migrate on Elastic Beanstalk中创建一个准备好的语句,但现在需要更迫切的需求