繁体   English   中英

从github将Webapp和worker部署到Heroku

[英]Deploying webapp and worker to Heroku from github

我有一个Web应用程序,可从github设置持续部署。 但是,我计划在此应用程序中添加一些工作人员角色,并且我想知道几件事。 我正在使用Node.js。

在我看来,我的设计如下:

  • Procfile将具有#次网络和工作者动态。
  • Worker类型可以是不同的部署,但是我只能看到它具有不同的start命令。 如何与包装管理一起使用? 如果我在辅助角色中需要的内容与Web应用程序中的内容不同怎么办?

所以我的问题是?

  • 我有可能使用相同的存储库并以将工作程序和Web代码保持在同一位置的方式来结构化它吗? 我可以在根目录中有/web/worker文件夹吗,它们具有不同的app.jspackage.json文件,所以我将它们放在相同的存储库中,但是对它们的依赖关系进行了不同的管理。 部署到Heroku时如何进行这项工作?
  • 我有一些通过构建包安装到Web应用程序的第三方库,但是我希望它们以辅助角色出现。 这些对于我想执行的某些计算是必需的,因此我计划使用worker角色进行出队和处理。 有什么方法可以在worker角色上安装构建包?
  • 通过Procfile管理此问题的正确方法是什么? 我可以在proc文件中设置所需的辅助角色数量,还是需要使用命令行按比例放大/缩小,这是我唯一的选择?

看起来这是完全可能的。 您需要做的是拥有一个全局package.json文件来管理您的依赖项(您不能使用worker和Web角色来管理单独的依赖项)。 如果package.json不足以使heroku检测到您正在使用Node.Js ,那是我遇到的问题; 添加heroku/nodejs的buildpack,您应该没问题。 无论安装了什么buildpack,它将在worker角色上可用。

关于不同的目录,这就是我现在拥有的:

/web
/worker
/package.json
/Procfile

我的procfile是:

web: npm start --prefix /web
worker: npm start --prefix /worker

这似乎解决了启动问题。 没有任何方法可以在Procfile中设置#of dynos。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM