Skip to content

Deployment ru

Hammad Maqbool edited this page Oct 29, 2026 · 1 revision

English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt

docxi в продакшене и публикация версий

docxi — это библиотека, а не сервис, поэтому развёртывать отдельно нечего. На этой странице описано, что важно при выпуске приложения, использующего docxi, и как публикуются новые версии docxi.

Выпуск приложения с docxi

  • Зависимости. bundle install устанавливает nokogiri и rubyzip. nokogiri поставляет предкомпилированные гемы для распространённых платформ Linux, macOS и Windows. На других платформах, например в некоторых минимальных образах контейнеров, он компилируется из исходников, и для этого нужен компилятор C. См. руководство по установке nokogiri.
  • Без офисных программ. Серверам и контейнерам не нужны Microsoft Word или LibreOffice.
  • Память. render собирает весь документ в памяти и возвращает его как StringIO. Расход памяти растёт с числом страниц и размером изображений.
  • Сеть и файлы. docxi читает файловую систему только для путей к изображениям, которые вы передаёте в add_media, и обращается к сети только для переданных вами URL изображений. См. Безопасность.
  • Длинные документы. Формируйте их в фоновой задаче, а не во время веб-запроса. См. Интеграции.

Как публикуются версии docxi

Эти шаги предназначены для тех, кто сопровождает проект. Версии попадают в RubyGems через GitHub Actions с доверенной публикацией (trusted publishing), поэтому в репозитории не хранится ни одного ключа API.

  1. Обновите lib/docxi/version.rb и CHANGELOG.md и слейте изменения в master.
  2. Поставьте на коммит тег с версией и префиксом v, например v0.1.1, и отправьте тег.
  3. .github/workflows/release.yml собирает гем и публикует его в RubyGems.

Предварительные версии выпускаются так же, с номером вида 0.2.0.rc1. Bundler устанавливает предварительные версии, только если их запросить явно. CI (.github/workflows/ci.yml) запускается при каждом push в master и для каждого pull request.

Связанные страницы


← Главная вики · README

Clone this wiki locally