Amazon web services 使用npm db迁移和Elastic Beanstalk
我正在尝试自动部署使用npm db migrate的nodejs应用程序的Elastic Beanstalk。我已经阅读了AWS文档,因为我似乎应该使用容器命令。我创建了一个文件10_db_migrate.config并包含以下命令: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 我尝试
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中创建一个准备好的语句,但现在需要更迫切的需求