构建

Envoy 构建系统使用 Bazel.

为了简化初始构建并快速入门,我们提供了一个基于 Ubuntu 的最新 Docker 容器,其中包含构建和 *静态链接* Envoy 所需的一切,请参阅 ci/README.md.

要构建而不使用 Docker 容器,请按照 bazel/README.md 中的说明进行操作。

Linux/Mac 目标要求

Envoy 最初是在 Ubuntu 14.04 LTS 上开发和部署的。它应该可以在任何合理最新的 Linux 上运行,包括 Ubuntu 20.04 LTS。

构建 Envoy 有以下要求

请注意,对于 Clang/LLVM 8 及更低版本,可能需要使用 --define tcmalloc=gperftools 构建 Envoy,因为新版 tcmalloc 代码不能保证与较低版本的 Clang 编译。

Windows 目标要求

注意

2023 年 8 月 31 日,Envoy 项目由于缺乏资源而停止了对 Windows 的官方支持。我们将继续接受与 Windows 构建相关的补丁。在另行通知之前,Windows 构建将从 Envoy CI 以及 Envoy 发布和安全流程中排除。

Envoy 支持 Windows 作为目标平台。以下要求仅适用于您要构建 Windows 原生可执行文件的情况。如果您想在 Windows 上使用 WSL 或 Linux 容器构建 Linux 版本的 Envoy,请参阅上面的 Linux 要求。

在 Windows 上构建 Envoy 有以下要求

详细说明

有关执行手动构建的更多信息,请参阅 开发人员使用 CI Docker 镜像使用 Bazel 构建 Envoy 文档。

修改 Envoy

如果您有兴趣修改 Envoy 并测试您的更改,可以使用 Docker。本指南将介绍构建您自己的 Envoy 二进制文件并将其放入 Ubuntu 容器的过程。