这是特使代理网站的回购。
该网站是使用Jekyll和Sphinx构建的,以生成静态HTML文件,然后将其与Netlify部署。
如果您在主机系统上安装了Bazel,则可以使用它直接管理和开发网站。
在.bazelversion中可以看到预期的Bazel版本。
如果您直接在主机上使用Bazel,则需要一些最低系统要求。对于提供的Dockerfile中的基于Ubuntu的系统,可以看到这些要求。
您还可以在Docker容器内运行必要的Bazel命令。
为您的便利提供了Docker-Compose文件,该文件使用了包含Bazel预期的系统要求的Docker映像。
该构图旨在利用主机系统上的Bazel Cache。
您可能需要导出用户的UID以运行容器。
$ export UID由于Ruby需要构建网站,因此Bazel规则中包含Ruby工具链。
这将在其环境中寻找任何可用的红宝石二进制文件。
如果它找到一个匹配.ruby-version中指定的版本,则将使用该版本。
否则,它将编译所需的Ruby版本,从而缓存二进制文件供进一步使用。
如果您在Docker容器中运行Bazel命令,则需要编译Ruby,除非它找到先前编译和缓存的版本。
$ bazel run //site:live现在,应该通过访问http:// localhost:4000来获得该网站。
默认情况下,只有网站而不是文档由此环境提供。
您可以查看使用最新文档构建的整个网站,并使用以下内容:
$ export ENVOY_COMMIT= " $( bazel run //docs:latest_version ) "
$ bazel run --action_env=ENVOY_COMMIT //site:live_docs对jekyll文件夹中的内容进行的内容的更改将触发即时的服务器重新加载。
您可以在带有提供的配方的Docker容器中运行该网站。
$ docker-compose up live默认情况下,只有网站而不是文档由此环境提供。
您可以查看使用最新文档构建的整个网站,并使用以下内容:
$ docker-compose up live_docs对jekyll文件夹中的内容进行的内容的更改将触发即时的服务器重新加载。
建立整个网站的Bazel目标是:
$ export ENVOY_COMMIT= " $( bazel run //docs:latest_version ) "
$ bazel build --action_env=ENVOY_COMMIT //site:html有一个便利脚本(如CI中所用),该脚本将在当前目录中的_site文件夹中构建:
$ ./build-website.sh以下命令将在当前目录中的_site文件夹中构建整个网站,包括所有文档:
$ docker-compose run build要掉入Docker容器中,并在组成文件中配置了端口映射:
$ docker-compose run -p 4000:4000 live bash从那里您可以直接运行Bazel命令,例如:
username@73deecbfaf55:/src/workspace/envoy-website $ bazel run //docs:latest_version
...
b200312ddcbc4d237cd197a42cdd8c66cc8c6af0
| 物品 | 小路 |
|---|---|
| 主页内容 | _data/home.yml |
| 主页上的NAV链接 | _data/nav.yml |
| 文档(自动生成) | docs |
要创建一个新页面,您需要做的就是在根目录中创建一个新文件。该文件可以是降价文件或HTML文件。
新文件应包含Jekyll所说的前提功能,这本质上是YAML标记,使您可以设置诸如模板,永久链接和页面标题之类的选项。
Envoy很高兴认识到在生产中使用该软件的项目。这些不是打算是广告,而是对该项目的支持。所有支持组织将按字母顺序列出。要添加到我们的采用列表中,您必须符合以下标准:
要添加您的徽标,请发送拉动请求(请参见此示例)。
官方特使博客托管在媒体上,网址为https://blog.envoyproxy.io。