我们计划将角度部署到亚马逊S3静态网站,目前我们正在为每个环境(开发/生产)进行单独构建.是否可以构建一次并部署到所有环境的任何解决方案.
提前致谢.
正如我所理解的那样,您希望为多个堆栈(开发,测试,生产等)提供一个构建(例如,持续集成构建).如果每个堆栈的环境文件中有不同的设置,则会有不同的构建.只有一个版本,您只有一个选项可以实现这一目标.
在您的开发环境文件中,保留您在本地开发所需的开发设置.在生产环境文件中,使用占位符进行设置,这与您的开发设置不同.
然后,您始终可以构建应用程序以进行生产,并且您将使用在主.*.bundle.js中编译的占位符来创建应用程序.
对于部署,您必须操作main.*.bundle.js文件(有占位符):
>预部署:运行一个脚本来操作主.* .bund.js来设置例如.生产设置.
>部署:将应用程序部署到App Service
> Post-Deploy:运行一个脚本,操作main.*.bundle.js再次设置占位符
是的,这不是一个好的解决方案,但经过3天的研究,这是最好的选择.然后,您可以通过运行脚本将应用程序部署到多个堆栈.
我使用Visuals Studio Team Services上的powershell脚本执行此操作,以使用其中的发布功能将应用程序部署到Microsoft Azure.