fluent-package-builder (anciennement connu sous le nom de td-agent-builder, il a été renommé en août 2021) est un nouveau système de build pour td-agent qui vise à remplacer le système de build traditionnel omnibus-td-agent car il présente plusieurs problèmes. en raison des limitations d'Omnibus.
REMARQUE : Discussion sur les raisons pour lesquelles un changement de marque est nécessaire. Rebranding td-agent-builder
td-agent
a été renommé fluent-package
fluent-package
a été modifié pour être installé sous /opt/fluent
/usr/sbin/td-agent
et /usr/sbin/td-agent-gem
ont été remplacés par /usr/sbin/fluentd
et /usr/sbin/fluent-gem
/opt/fluent/share/fluentd.conf
fluentd-apt-source
a été renommé en package deb fluent-apt-source
pour maintenir apt-line et keyringembedded
par omnibus/opt/td-agent/bin/fluent-cat
au lieu de /opt/td-agent/embedded/bin/fluent-cat
apt install
, vous pouvez ensuite installer td-agent via apt install td-agent
.Voir aussi ce numéro pour les problèmes omnibus.
Après avoir installé le logiciel ci-dessus, vous devez activer les fonctionnalités supplémentaires de PowerShell (en tant qu'administrateur).
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
dism.exe /online /enable-feature /featurename:Containers /all /norestart
Redémarrez ensuite Windows.
% rake yum:build
Par défaut, les référentiels yum pour les plates-formes suivantes seront construits dans le répertoire fluent-package/yum/repositories/ :
Vous pouvez choisir les plates-formes cibles par la variable d'environnement YUM_TARGETS
comme ceci :
% rake yum:build YUM_TARGETS= " rockylinux-8,almalinux-9 "
Vous pouvez trouver d'autres plates-formes prises en charge dans le répertoire fluent-package/yum.
Vous pouvez également créer des packages pour les plateformes AArch64 comme celui-ci :
% rake yum:build YUM_TARGETS= " amazonlinux-2023-aarch64 "
Mais si vous utilisez d'anciennes plates-formes GNU/Linux (par exemple Ubuntu 18.04 ou antérieure) comme système d'exploitation hôte, vous devez copier qemu-aarch64-static dans le répertoire de base de la cible :
% 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 "
Vous pouvez également créer des packages pour la plateforme ppc64le comme ceci :
% rake yum:build YUM_TARGETS= " centos-8-ppc64le "
Mais si vous utilisez d'anciennes plates-formes GNU/Linux (par exemple Ubuntu 18.04 ou antérieure) comme système d'exploitation hôte, vous devez copier qemu-ppc64le-static dans le répertoire de base de la cible :
% 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
Par défaut, les référentiels apt pour les plates-formes suivantes seront construits dans le répertoire fluent-package/apt/repositories/ :
Vous pouvez choisir les plates-formes cibles par la variable d'environnement APT_TARGETS
comme ceci :
% rake apt:build APT_TARGETS= " debian-bookworm,ubuntu-jammy "
Vous pouvez trouver d'autres plates-formes prises en charge dans le répertoire fluent-package/apt.
Vous pouvez également créer des packages pour les plates-formes AArch64 comme celui-ci :
% rake apt:build APT_TARGETS= " ubuntu-jammy-arm64 "
Mais si vous utilisez d'anciennes plates-formes GNU/Linux (par exemple Ubuntu 18.04 ou antérieure) comme système d'exploitation hôte, vous devez copier qemu-aarch64-static dans le répertoire de base de la cible :
% 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
Un package fluent-package-${version}-x64.msi sera construit dans le répertoire fluent-package/msi.
Vous pouvez l'utiliser avec MSYS2 pour la création de gemmes d'extension C.
MSI inclus Ruby peut détecter l'environnement MSYS2. Ainsi, vous pouvez installer l’extension C incluse avec MSYS2.
par exemple)
Préparez l'environnement de création de gemmes d'extension C :
cmd> ridk install 2
...
cmd> ridk install 3
Installez gem via 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
Un package fluent-package-${version}.dmg sera construit dans le répertoire fluent-package/dmg.
Le package intégré de GitHub Actions est prêt à fonctionner sur macOS 10.15 (Catalina).
Assurez-vous de permettre d'être autorisé pour un accès assisté. Dans Préférences Système > Sécurité et confidentialité > Confidentialité > Accessibilité, vous devez y autoriser Terminal.app.
REMARQUE : étant donné que l'autorisation se situe au niveau de l'application sur Terminal.app, elle permet à tout script exécuté à partir de Terminal.app d'effectuer des scripts GUI.
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
Cela suppose que Gemfile fonctionne avec la fonctionnalité multiplateforme de Bundler, donc le bundler doit être 2.2.0 ou version ultérieure.