建置

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 及更低版本,Envoy 可能需要使用 --define tcmalloc=gperftools 進行建置,因為新的 tcmalloc 程式碼不保證能使用較低版本的 Clang 編譯。

Windows 目標需求

注意

由於資源不足,Envoy 專案於 2023 年 8 月 31 日結束官方 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 容器中的過程。