[英]Deploy on AWS ElasticBeanstalk - run custom npm script before starting server?
我一直在尝试将我的 nuxt 通用应用程序部署到 AWS 弹性 beantalk 上。 我已经尝试在我的 package.json 中使用自定义 npm 脚本:
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start",
"generate": "nuxt generate",
"precommit": "npm run lint",
"deploy": "nuxt build && nuxt start"
},
然后在 AWS EB 配置下,我添加了节点命令:npm run deploy
但是,它不起作用。
基本上,我需要告诉 EB 在“npm run start”之前运行“npm run build”
有人可以帮忙吗?
您所描述的内容在 npm 领域中,可以通过使用预启动脚本来解决,如下所示:
"prestart": "nuxt build"
更多细节在这里: https : //docs.npmjs.com/misc/scripts
到目前为止,这对我有帮助,它似乎适用于通用模式下的默认 nuxt 项目(nuxt create)。 我正在使用 Elastic Beanstalk、CodePipeline 和 Bitbucket。 CodePipeline 从 Bitbucket 中获取代码,一旦它被推送并构建在 Elastic Beanstalk 上。
帮助我的是添加到 package.json:
"deploy": "npm run build && npm run start"
或者
"deploy": "npm run install && npm run build && npm run start"
并在项目根目录创建Procfile
, Procfile
内容/命令触发package.json文件中的部署脚本
web: npm run deploy
以前,有“钩子”,但现在它们几乎已弃用https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platform-hooks.html
现在您可以使用此处所述的 Buildfile 和 Procfile https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html
尝试将“source_compile.config”文件添加到您的 .ebextensions 中,如下所示:
# source_compile.config
container_commands:
compile:
command: "./node_modules/.bin/nuxt build"
env:
PATH: /opt/elasticbeanstalk/node-install/node-v12.16.3-linux-x64/bin/
在部署到 Elastic Beanstalk 之前,同样需要预编译一个 typescript nodejs 服务器 :) 这里有一个参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.