fluente-package-builder (anteriormente conhecido como td-agent-builder, foi renomeado em agosto de 2021) é um novo sistema de construção para td-agent que visa substituir o sistema de construção tradicional omnibus-td-agent, uma vez que tem vários problemas devido às limitações do Omnibus.
NOTA: Discutiu por que a reformulação da marca é necessária Rebranding td-agent-builder
td-agent
foi renomeado para fluent-package
fluent-package
foi alterado para instalar em /opt/fluent
/usr/sbin/td-agent
e /usr/sbin/td-agent-gem
foram alterados para /usr/sbin/fluentd
e /usr/sbin/fluent-gem
/opt/fluent/share/fluentd.conf
fluentd-apt-source
foi renomeado para pacote deb fluent-apt-source
para manter o apt-line e o chaveiroembedded
por omnibus/opt/td-agent/bin/fluent-cat
em vez de /opt/td-agent/embedded/bin/fluent-cat
apt install
, então você pode instalar o td-agent via apt install td-agent
.Consulte também esta edição para problemas gerais.
Depois de instalar o software acima, você precisa habilitar recursos adicionais do PowerShell (como administrador).
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
dism.exe /online /enable-feature /featurename:Containers /all /norestart
Em seguida, reinicie o Windows.
% rake yum:build
Por padrão, os repositórios yum para as seguintes plataformas serão construídos no diretório fluent-package/yum/repositories/:
Você pode escolher plataformas de destino pela variável de ambiente YUM_TARGETS
assim:
% rake yum:build YUM_TARGETS= " rockylinux-8,almalinux-9 "
Você pode encontrar outras plataformas suportadas no diretório fluent-package/yum.
Você também pode criar pacotes para plataformas AArch64 como este:
% rake yum:build YUM_TARGETS= " amazonlinux-2023-aarch64 "
Mas se você usa plataformas GNU/Linux mais antigas (por exemplo, Ubuntu 18.04 ou anteriores) como seu sistema operacional host, você precisa copiar qemu-aarch64-static no diretório base do destino:
% 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 "
Você também pode construir pacotes para a plataforma ppc64le assim:
% rake yum:build YUM_TARGETS= " centos-8-ppc64le "
Mas se você usa plataformas GNU/Linux mais antigas (por exemplo, Ubuntu 18.04 ou anteriores) como seu sistema operacional host, você precisa copiar qemu-ppc64le-static no diretório base do destino:
% 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
Por padrão, os repositórios apt para as seguintes plataformas serão construídos no diretório fluent-package/apt/repositories/:
Você pode escolher plataformas de destino pela variável de ambiente APT_TARGETS
assim:
% rake apt:build APT_TARGETS= " debian-bookworm,ubuntu-jammy "
Você pode encontrar outras plataformas suportadas no diretório fluent-package/apt.
Você também pode criar pacotes para plataformas AArch64 como este:
% rake apt:build APT_TARGETS= " ubuntu-jammy-arm64 "
Mas se você usa plataformas GNU/Linux mais antigas (por exemplo, Ubuntu 18.04 ou anteriores) como seu sistema operacional host, você precisa copiar qemu-aarch64-static no diretório base do destino:
% 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
Um pacote fluent-package-${version}-x64.msi será compilado no diretório fluent-package/msi.
Você pode usar com MSYS2 para construção de gem de extensão C.
MSI incluído Ruby pode detectar o ambiente MSYS2. Portanto, você pode instalar a extensão C incluída gem com MSYS2.
por exemplo)
Prepare o ambiente de construção de gemas de extensão C:
cmd> ridk install 2
...
cmd> ridk install 3
Instale o 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
Um pacote fluent-package-${version}.dmg será compilado no diretório fluent-package/dmg.
O pacote compilado do GitHub Actions está pronto para ser executado no macOS 10.15 (Catalina).
Certifique-se de permitir a autorização para acesso de assistência. Em Preferências do Sistema > Segurança e Privacidade > Privacidade > Acessibilidade, você deve ativar o Terminal.app lá.
NOTA: Como a autorização está no nível do aplicativo no Terminal.app, ela permite que qualquer script executado no Terminal.app execute scripts de 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
Ele assume que o Gemfile funciona com o recurso multiplataforma do Bundler, portanto o bundler deve ser 2.2.0 ou posterior.