如何在构建之后访问grunt应用程序*中的环境变量

时间:2014-05-20 08:25:17

标签: gruntjs docker

应用

我有一个由grunt构建的angularjs应用程序,它使用grunt将环境变量(如API端点)注入angularjs代码。但是,这个问题更适用于在docker容器中部署的grunt应用程序。

动机

我刚刚开始尝试将docker集成到部署过程中(something similar to this),但意识到我不知道如何最好地将环境变量放入应用程序中。我将描述事件的顺序:

  1. 更改我的代码
  2. 构建一个完整的docker镜像,接受API端点作为环境变量
  3. 将泊坞窗图像推送到我的服务器
  4. 根据此新图片运行容器
  5. 如您所见,grunt构建发生在步骤2中,但环境变量在步骤4之前不可用。

    可能的解决方案

    可以包装调用以在一个小的bash脚本中为我的角应用程序启动静态服务器,该脚本创建一个包含环境变量的javascript文件。然后,我可以在<script>中添加index.html标记以导入它,然后像往常一样启动服务器,一切正常。然而,这感觉就像我不恰当地回避咕噜声。

    有没有人知道在connect:dist:keepalive任务运行的同时将环境变量注入客户端代码的简单方法?为了澄清,我已经使用了ng-constant grunt任务,但是只能在构建时访问环境变量,而不是服务器启动时间。

0 个答案:

没有答案