Это репо для веб -сайта прокси Envoy.
Этот веб -сайт создан с использованием Jekyll и Sphinx для генерации статических HTML -файлов, которые затем развернуты с помощью NetLify.
Если у вас установлен Bazel в вашей хост -системе, вы можете использовать это для управления и разработки сайта напрямую.
Ожидаемая версия Bazel можно увидеть в Bazelversion.
Если вы используете Bazel непосредственно на вашем хосте, вам понадобятся некоторые минимальные системы. Эти требования можно увидеть для системы на основе Ubuntu в предоставленной Dockerfile.
Вы также можете запустить необходимые команды Bazel внутри контейнера Docker.
Для вашего удобства был предоставлен файл с композитом Docker, в котором используется изображение Docker, содержащее системные требования, ожидаемые Bazel.
Композиция предназначена для использования кэша Bazel в вашей системе хоста.
Возможно, вам потребуется экспортировать UID вашего пользователя для запуска контейнера.
$ export UIDПоскольку Ruby требуется для создания веб -сайта, в правила Bazel включен рубиновый инструмент.
Это будет искать любые доступные рубиновые двоичные файлы в окружающей среде.
Если он найдет версию, соответствующую той, которая указана в .ruby-версия, она будет использовать эту.
В противном случае, он составит необходимую версию Ruby, кэшируя бинарную карьеру для дальнейшего использования.
Если вы запустите команды Bazel в контейнере Docker, ему нужно будет скомпилировать 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 с предоставленным рецептом Compose.
$ 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 размещен на Medium по адресу https://blog.envoyproxy.io.