gpt4 book ai didi

ember.js - 构建 Ember 应用程序后管理配置

转载 作者:行者123 更新时间:2023-12-01 03:39:53 25 4
gpt4 key购买 nike

寻找 的最佳实践管理配置ember build 之后如果有可能的话。尽管它不一定是 Docker 特定的,但即使您不是 Docker 资深人士,以下内容也必须让您对需求有一个很好的了解。

动机:我们使用 Docker + Docker Hub(自动)分别构建和部署我们的后端和前端应用程序。有多个部署。前端应用基于 Ember (使用 ember-cli)。而不是运行 ember build --environment deployment-{1..N}在一个单独的 Dockerfile 中并最终拥有多个 Docker 镜像,我希望拥有一个 Docker 镜像并运行 Docker 容器,并将所需设置作为环境变量传递,以便稍后将它们注入(inject) Ember 配置,例如:

docker run -e ENV_APP_APIURL=deployment1.example.com ... --name deployment1 dockerimage

然后我会运行一个小脚本作为 ENTRYPOINT在 Dockerfile 中,它使用这些环境变量并将它们注入(inject)到构建的 Ember 应用程序中,以便 Web 服务器可以为重新配置的应用程序提供服务。简而言之:
[ember app] >> build >> [compiled generic web app] >> reconfigure(?) >> [final web app]

是 ember 的做事方式还是我应该去喝杯咖啡?

最佳答案

使用入口点脚本中的环境变量将元标记注入(inject) index.html 怎么样?那么 Ember 应用程序可以在运行时获取这些元标记吗?
ENTRYPOINT /start.sh
我的启动脚本是这样做的:

#!/bin/bash
set -e

if [ -n $API_BASE_URI ]
then
sed -i "/API_BASE_URI/c <meta name='API_BASE_URI' content='$API_BASE_URI'>" /app/dist/index.html; > /dev/null
fi ]

exec "$@"

索引.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>APP NAME</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="API_BASE_URI" content="/api">
...

关于ember.js - 构建 Ember 应用程序后管理配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31601106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com