Ala*_*lan 3 google-app-engine node.js firebase firebase-queue app-engine-flexible
我正在努力弄清楚如何灵活地在谷歌应用引擎上部署多个nodejs服务.
我正在使用多个带有firebase-queue的nodejs类来处理我的任务.现在,我正在使用我的package.json来触发一次启动所有内容.然而,这已经成为问题.我希望能够将更改推送到一个特定的服务/脚本,而不必停止所有其他脚本.
我的package.json目前看起来像这样:
"scripts": {
"task1": "node ./src/task1.js",
"task2": "node ./src/task2.js",
"start": "npm-run-all -p task1 task2"
}
Run Code Online (Sandbox Code Playgroud)
我正在使用不同的.yaml文件来确定我想推送哪个构建变体(调试或发布),但我发现很难单独部署每个任务.我在python中找到了关于如何这样做的文档,但在nodejs上没有.有没有人有什么建议?
(回答我自己的问题,非常感谢Justin的帮助)
我特意遇到动态更改脚本以在package.json中启动的问题.我发现package.json可以使用' $ ' 访问环境变量
的package.json:
"scripts": {
"start": "node $SCRIPT_TO_RUN"
}
Run Code Online (Sandbox Code Playgroud)
myService.yaml
runtime: nodejs
vm: true
api_version: 1
instance_class: B4
manual_scaling:
instances: 1
service: cart-monitor-dev
env_variables:
SCRIPT_TO_RUN: './src/mytask.js'
Run Code Online (Sandbox Code Playgroud)
然后部署使用:
gcloud app deploy myService.yaml
Run Code Online (Sandbox Code Playgroud)