fluent-package-builder (เดิมชื่อ td-agent-builder เปลี่ยนชื่อเมื่อเดือนสิงหาคม 2564) เป็นระบบบิลด์ใหม่สำหรับ 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-line และพวงกุญแจ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 ที่รวม gem ด้วย MSYS2 ได้
เช่น)
เตรียมสภาพแวดล้อมการสร้างอัญมณีส่วนขยาย C:
cmd> ridk install 2
...
cmd> ridk install 3
ติดตั้ง gem ผ่าน 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 ดำเนินการเขียนสคริปต์ 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
โดยถือว่า Gemfile ทำงานร่วมกับฟีเจอร์หลายแพลตฟอร์มของ Bundler ดังนั้น Bundler ต้องเป็น 2.2.0 หรือใหม่กว่า