fluent-package-builder (ранее известный как td-agent-builder, он был переименован в августе 2021 г.) — это новая система сборки для td-agent, которая призвана заменить традиционную систему сборки omnibus-td-agent, поскольку у нее есть несколько проблем. из-за ограничений Omnibus.
ПРИМЕЧАНИЕ. Обсуждается необходимость ребрендинга. Ребрендинг td-agent-builder.
td-agent
переименован в fluent-package
fluent-package
было изменено для установки в /opt/fluent
/usr/sbin/td-agent
и /usr/sbin/td-agent-gem
были изменены на /usr/sbin/fluentd
и /usr/sbin/fluent-gem
/opt/fluent/share/fluentd.conf
fluentd-apt-source
был переименован в пакет deb fluent-apt-source
для поддержки строки apt и набора ключей.embedded
каталог с помощью омнибуса/opt/td-agent/bin/fluent-cat
вместо /opt/td-agent/embedded/bin/fluent-cat
apt 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 или новее.