如何使用angular-cli 4构建一次并部署多个环境?

Sar*_*nan 5 angular-cli angular

我们计划将角度部署到亚马逊S3静态网站,目前我们正在为每个环境(开发/生产)进行单独构建.是否可以构建一次并部署到所有环境的任何解决方案.

提前致谢.

小智 6

据我所知,你想要为几个堆栈(开发,测试,生产等)建立一个构建(例如持续集成构建).如果每个堆栈的环境文件中有不同的设置,则会有不同的构建.只有一个版本,您只有一个选项可以实现这一目标.

在您的开发环境文件中保留您在本地开发所需的开发设置.在生产环境文件中,使用占位符进行设置,这与您的开发设置不同.

然后,您始终可以构建应用程序以进行生产,并且您的应用程序将使用在主.*.bundle.js中编译的占位符.

对于部署,您必须操作main.*.bundle.js文件(有占位符):

  1. 预部署:运行一个脚本,该脚本操纵main.*.bundle.js来设置例如生产设置.
  2. 部署:将应用程序部署到App Service
  3. 部署后:运行一个脚本,操作main.*.bundle.js再次设置占位符

是的,这不是一个好的解决方案,但经过3天的研究,这是最好的选择.然后,您可以通过运行脚本将应用程序部署到多个堆栈.

我使用Visuals Studio Team Services上的powershell脚本执行此操作,以使用其中的发布功能将应用程序部署到Microsoft Azure.