相同的构建 - 不同的环境(AWS,Docker,SpringBoot,Angular,Nginx)

时间:2018-01-31 13:10:22

标签: angular amazon-web-services docker nginx environment-variables

这是一个简单的常见问题,但也有点具体,这就是为什么我要问:

我使用的是WebApp:

前端:Angular 4,Nginx,Docker,AWS(ELB-single Docker)

后端:SpringBoot,Docker,AWS(ELB-single Docker)

很常见的情况。现在我想运行由环境变量打开的这个应用程序的不同实例。因为它始终与其他DB /入口点配置相同。而且我有点害怕如何实现这一直接和正确。也适合sugesstions。我已经在Angular和SpringBoot中运行了不同的环境。但是这有预先配置的构建文件(有生产或qa设置)但我想避免无用的重建。

现在的问题是: 有人已经构建了这样的东西,可以给我一个配置文件需要的样子吗?

  

- > Dockerfile - > Dockerrun.aws.json - > ...

特别是前端部分是我的问题:

  

- > Dockerfile - > Dockerrun.aws.json - > nginx.conf.d - > “任何Angular配置?”

希望有些人可以帮助我保存一些研究。 先谢谢!

格里

2 个答案:

答案 0 :(得分:0)

要切换配置,我会将可配置参数移出代码,如果不是这样的话。

对于前端,您可以将其移动到单独的json文件,或者可以在html页面中使用数据属性。这些可以在构建后步骤中轻松更改,也可以根据需要手动预先配置。

答案 1 :(得分:0)

我发现了一个非常糟糕但又可怕的解决方案,它再次向我展示了如何"年龄和#34;目前的网络技术是今天。

https://medium.com/@tiangolo/angular-in-docker-with-nginx-supporting-environments-built-with-multi-stage-docker-builds-bb9f1724e984

使用env变量进行"重建"在docker容器的每个开始处使用env-vars进行角度调整。 那是一个很酷的方法。但非常难过,它是实现这一目标的必要条件。