fluent-package-builder (ранее известный как td-agent-builder, переименованный в августе 2021 г.) — это новая система сборки для td-agent, цель которой — заменить традиционную систему сборки omnibus-td-agent, поскольку у нее есть несколько проблем. из-за ограничений Omnibus.
ПРИМЕЧАНИЕ. Обсуждается необходимость ребрендинга. Ребрендинг td-agent-builder.
td-agent переименован в fluent-packagefluent-package было изменено для установки в /opt/fluent/usr/sbin/td-agent и /usr/sbin/td-agent-gem были изменены на /usr/sbin/fluentd и /usr/sbin/fluent-gem/opt/fluent/share/fluentd.conffluentd-apt-source был переименован в пакет deb fluent-apt-source для поддержки строки apt и набора ключей.embedded каталог с помощью омнибуса/opt/td-agent/bin/fluent-cat вместо /opt/td-agent/embedded/bin/fluent-catapt install , затем вы сможете установить td-agent с помощью apt install td-agent .См. также этот выпуск для проблем с омнибусом.
После установки вышеуказанного программного обеспечения вам необходимо включить дополнительные функции из PowerShell (от имени администратора).
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
dism.exe /online /enable-feature /featurename:Containers /all /norestart
Затем перезапустите Windows.
% rake yum:buildПо умолчанию репозитории yum для следующих платформ будут созданы в каталоге fluent-package/yum/repositories/:
Вы можете выбрать целевые платформы с помощью переменной среды YUM_TARGETS следующим образом:
% rake yum:build YUM_TARGETS= " rockylinux-8,almalinux-9 "Вы можете найти другие поддерживаемые платформы в каталоге fluent-package/yum.
Вы также можете собирать пакеты для платформ AArch64 следующим образом:
% rake yum:build YUM_TARGETS= " amazonlinux-2023-aarch64 "Но если вы используете более старые платформы GNU/Linux (например, Ubuntu 18.04 или более раннюю версию) в качестве хостовой ОС, вам необходимо скопировать qemu-aarch64-static в базовый каталог цели:
% export TARGET_BASE= " centos-8 "
% sudo apt install qemu-user-static
% cd /path/to/fluent-package-builder
% cp /usr/bin/qemu-aarch64-static fluent-package/yum/ ${TARGET_BASE}
% rake yum:build YUM_TARGETS= " ${TARGET_BASE} -aarch64 "Вы также можете собрать пакеты для платформы ppc64le следующим образом:
% rake yum:build YUM_TARGETS= " centos-8-ppc64le "Но если вы используете более старые платформы GNU/Linux (например, Ubuntu 18.04 или более раннюю версию) в качестве хостовой ОС, вам необходимо скопировать qemu-ppc64le-static в базовый каталог цели:
% export TARGET_BASE= " centos-8 "
% sudo apt install qemu-user-static
% cd /path/to/fluent-package-builder
% cp /usr/bin/qemu-ppc64le-static fluent-package/yum/ ${TARGET_BASE}
% rake yum:build YUM_TARGETS= " ${TARGET_BASE} -ppc64le " % rake apt:buildПо умолчанию репозитории apt для следующих платформ будут созданы в каталоге fluent-package/apt/repositories/:
Вы можете выбрать целевые платформы с помощью переменной среды APT_TARGETS следующим образом:
% rake apt:build APT_TARGETS= " debian-bookworm,ubuntu-jammy "Вы можете найти другие поддерживаемые платформы в каталоге fluent-package/apt.
Вы также можете создавать пакеты для платформ AArch64 следующим образом:
% rake apt:build APT_TARGETS= " ubuntu-jammy-arm64 "Но если вы используете более старые платформы GNU/Linux (например, Ubuntu 18.04 или более раннюю версию) в качестве хостовой ОС, вам необходимо скопировать qemu-aarch64-static в базовый каталог цели:
% export TARGET_BASE= " ubuntu-bionic "
% sudo apt install qemu-user-static
% cd /path/to/fluent-package-builder
% cp /usr/bin/qemu-aarch64-static fluent-package/apt/ ${TARGET_BASE}
% rake apt:build APT_TARGETS= " ${TARGET_BASE} -arm64 " % rake msi:buildПакет fluent-package-${version}-x64.msi будет собран в каталоге fluent-package/msi.
Вы можете использовать с MSYS2 для создания расширений C.
Включенный MSI Ruby может обнаруживать среду MSYS2. Таким образом, вы можете установить расширение C, включенное в MSYS2.
например)
Подготовьте среду создания Gem-расширения C:
cmd> ridk install 2
...
cmd> ridk install 3 Установите драгоценный камень с помощью ridk exec fluent-gem install :
cmd> ridk exec fluent-gem install winevt_c % sudo mkdir /opt/fluent
% sudo chown $( whoami ) /opt/fluent
% rake dmg:selfbuildПакет fluent-package-${version}.dmg будет собран в каталоге fluent-package/dmg.
Пакет, созданный GitHub Actions, готов к работе на macOS 10.15 (Catalina).
Обязательно разрешите авторизоваться для вспомогательного доступа. В «Системных настройках» > «Безопасность и конфиденциальность» > «Конфиденциальность» > «Доступность» вам следует разрешить использование Terminal.app.
ПРИМЕЧАНИЕ. Поскольку авторизация осуществляется на уровне приложения в Terminal.app, она позволяет любому сценарию, запускаемому из Terminal.app, выполнять сценарии графического пользовательского интерфейса.
cd fluent-package && rake lockfile:update % cd fluent-package
% rake version:update
% git diff # Check the change log
% git commit -a
% rake apt:build
% rake yum:build
% rake msi:build
Предполагается, что Gemfile работает с мультиплатформенной функцией Bundler, поэтому упаковщик должен быть версии 2.2.0 или новее.