node.js - 如何设置开发、测试和生产端点
问题描述
我是后端开发的新手,我已经做了很多年的移动开发人员,现在我想切换到另一边:)
我一直在做一些关于如何使用的教程nodejs + express
,所有这些教程通常只是教你如何在你满意后将代码部署到生产环境中……但就是这样,你在本地工作,你在本地测试,只需将您的 master 部署到某个云服务平台。
但是在我工作的公司中,他们总是有不同的环境可供我们(移动开发人员)使用服务器,通常是dev, qa, and production envs
. 所以这意味着他们在服务器上部署了至少 3 个版本的代码,我们只需修改端点就可以访问它。
这是一种非常普遍的做法,但我不知道从哪里开始看这个架构是如何完成的。再说一次,我对这个主题很陌生,所以也许我只是缺乏查找信息的术语,但我昨天花了一天时间试图弄清楚他,但我找不到任何东西。
为了让它更复杂一点,我将开始和朋友一起开发一个可以自定义的应用程序,因此不同的客户端将有不同版本的应用程序,他们需要使用某种标识符访问服务器端点路径如
/mycompany/clientAname/dev/...
/mycompany/clientAname/qa/...
/mycompany/clientAname/prod/... << do you even use prod there?
/mycompany/clientBname/dev/...
/mycompany/clientBname/qa/...
/mycompany/clientAname/prod/...
这意味着,每个环境和客户端都有不同的代码版本
任何关于开始寻找的线索将不胜感激:)
干杯!
解决方案
好的,经过大量的学习,我终于能够设置一个具有多个环境的服务器,以便在我想要的时候部署我想要的东西。
我所做的是,使用 docker 容器,我使用 nginx 在我的服务器(租用了一个 linode 服务器)中添加了一个反向代理,并为在不同端口上运行不同环境的每个应用程序添加了虚拟主机(内部端口,因为是 docker 网络) .
所以现在我有:
qa.myweb.com
dev.myweb.com
stage.myweb.com
myweb.com` (production)
我从这篇文章中获得了很多想法: multiple environment with docker
我还有很多工作要做,但是那里描述了我想要的主要思想..我希望它以后可以帮助其他人
推荐阅读
- apache - 如何以类似 MVC 的方法将 URL 重写为 index.php
- amazon-web-services - 无法创建 ScalingPolicy - 未注册可扩展目标
- here-api - HereMaps语音指导中TBT信息的触发点
- sql - 仅借用指定作者和编辑的所有书籍的借款人
- vue.js - VueJS - 从数据中自动创建一个 AZ 字母列表
- php - 显示总计为 0
- javascript - jQuery 克隆和递增输入,textarea,具有名称、id 和 for
- gcc - 从一个编译器版本到另一个编译器版本的符号重定位
- javascript - 组合顶点缓冲区
- nginx - 我的 Nginx,每 2 次尝试执行一次 proxy_pass