fluent-package-builder (sebelumnya dikenal sebagai td-agent-builder, diubah namanya pada Agustus 2021) adalah sistem build baru untuk td-agent yang bertujuan untuk menggantikan sistem build tradisional omnibus-td-agent karena memiliki beberapa masalah karena keterbatasan Omnibus.
CATATAN: Dibahas mengapa diperlukan re-branding Rebranding td-agent-builder
td-agent
diubah namanya menjadi fluent-package
fluent-package
diubah untuk diinstal di bawah /opt/fluent
/usr/sbin/td-agent
dan /usr/sbin/td-agent-gem
diubah menjadi /usr/sbin/fluentd
dan /usr/sbin/fluent-gem
/opt/fluent/share/fluentd.conf
fluentd-apt-source
diubah namanya menjadi paket deb fluent-apt-source
untuk memelihara apt-line dan keyringembedded
dengan omnibus/opt/td-agent/bin/fluent-cat
alih-alih /opt/td-agent/embedded/bin/fluent-cat
apt install
, lalu Anda dapat menginstal td-agent melalui apt install td-agent
.Lihat juga masalah ini untuk masalah omnibus.
Setelah menginstal perangkat lunak di atas, Anda perlu mengaktifkan fitur tambahan dari PowerShell (sebagai admin).
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
dism.exe /online /enable-feature /featurename:Containers /all /norestart
Kemudian mulai ulang Windows.
% rake yum:build
Secara default, repositori yum untuk platform berikut akan dibangun di bawah direktori fluent-package/yum/repositories/:
Anda dapat memilih platform target berdasarkan variabel lingkungan YUM_TARGETS
seperti ini:
% rake yum:build YUM_TARGETS= " rockylinux-8,almalinux-9 "
Anda dapat menemukan platform lain yang didukung di direktori fluent-package/yum.
Anda juga dapat membuat paket untuk platform AArch64 seperti ini:
% rake yum:build YUM_TARGETS= " amazonlinux-2023-aarch64 "
Namun jika Anda menggunakan platform GNU/Linux yang lebih lama (misalnya Ubuntu 18.04 atau sebelumnya) sebagai OS host, Anda perlu menyalin qemu-aarch64-static ke direktori dasar target:
% 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 "
Anda juga dapat membuat paket untuk platform ppc64le seperti ini:
% rake yum:build YUM_TARGETS= " centos-8-ppc64le "
Namun jika Anda menggunakan platform GNU/Linux yang lebih lama (misalnya Ubuntu 18.04 atau sebelumnya) sebagai OS host, Anda perlu menyalin qemu-ppc64le-static ke direktori dasar target:
% 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
Secara default, repositori apt untuk platform berikut akan dibangun di bawah direktori fluent-package/apt/repositories/:
Anda dapat memilih platform target berdasarkan variabel lingkungan APT_TARGETS
seperti ini:
% rake apt:build APT_TARGETS= " debian-bookworm,ubuntu-jammy "
Anda dapat menemukan platform lain yang didukung di direktori fluent-package/apt.
Anda juga dapat membuat paket untuk platform AArch64 seperti ini:
% rake apt:build APT_TARGETS= " ubuntu-jammy-arm64 "
Namun jika Anda menggunakan platform GNU/Linux yang lebih lama (misalnya Ubuntu 18.04 atau sebelumnya) sebagai OS host, Anda perlu menyalin qemu-aarch64-static ke direktori dasar target:
% 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
Paket fluent-package-${version}-x64.msi akan dibuat di direktori fluent-package/msi.
Anda dapat menggunakan MSYS2 untuk pembuatan permata ekstensi C.
MSI yang menyertakan Ruby dapat mendeteksi lingkungan MSYS2. Jadi, Anda dapat menginstal permata yang menyertakan ekstensi C dengan MSYS2.
misalnya)
Siapkan lingkungan bangunan permata ekstensi C:
cmd> ridk install 2
...
cmd> ridk install 3
Instal permata melalui 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
Paket fluent-package-${version}.dmg akan dibuat di direktori fluent-package/dmg.
Paket bawaan GitHub Actions siap dijalankan di macOS 10.15 (Catalina).
Pastikan untuk mengizinkan untuk diotorisasi untuk akses bantu. Di System Preferences > Security & Privacy > Privacy > Accessibility, Anda harus mengizinkan Terminal.app di sana.
CATATAN: Karena otorisasi berada pada tingkat aplikasi di Terminal.app, ini memungkinkan skrip apa pun yang dijalankan dari Terminal.app untuk melakukan pembuatan skrip 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
Diasumsikan bahwa Gemfile berfungsi dengan fitur multiplatform Bundler, jadi bundler harus versi 2.2.0 atau lebih baru.