如何设置开发、测试和生产端点

How to setup development, test and production endpoints

我是后端开发的新手,我作为移动开发人员工作了很多年,现在我想切换到另一面:)

我一直在做一些关于如何使用 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)

我从中得到了很多想法post: multiple enviroments with docker

我还有很多工作要做,但是我想要的主要想法已经在上面描述了..我希望它能帮助到以后的其他人