這是特使代理網站的回購。
該網站是使用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所說的Front Matter,這本質上是YAML標記,使您可以設置諸如模板,永久鏈接和頁面標題之類的選項。
Envoy很高興認識到在生產中使用該軟件的項目。這些不是打算是廣告,而是對該項目的支持。所有支持組織將按字母順序列出。要添加到我們的採用列表中,您必須符合以下標準:
要添加您的徽標,請發送拉動請求(請參見此示例)。
官方特使博客託管在媒體上,網址為https://blog.envoyproxy.io。