docs: update architecture.yml with unified packaging section
- Add packaging section describing DEB and RPM builds with fpm - Document Dockerfile.package multi-stage build pipeline - List files, directories, maintainer scripts, and dependencies - Add verification commands for both package types Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@ -468,38 +468,74 @@ docker:
|
|||||||
|
|
||||||
packaging:
|
packaging:
|
||||||
description: >
|
description: >
|
||||||
logcorrelator doit être distribué en package .rpm pour Rocky Linux (8+),
|
logcorrelator est distribué sous forme de packages .deb (Debian/Ubuntu) et
|
||||||
construit intégralement dans Docker à partir du binaire compilé.[web:96][web:99][web:101]
|
.rpm (Rocky Linux/RHEL/CentOS), construits intégralement dans Docker avec fpm.
|
||||||
formats:
|
formats:
|
||||||
|
- deb
|
||||||
- rpm
|
- rpm
|
||||||
target_distros:
|
target_distros:
|
||||||
|
deb:
|
||||||
|
- debian-12+
|
||||||
|
- ubuntu-22.04+
|
||||||
|
rpm:
|
||||||
- rocky-linux-8+
|
- rocky-linux-8+
|
||||||
- rocky-linux-9+
|
- rocky-linux-9+
|
||||||
|
- rhel-8+
|
||||||
|
- rhel-9+
|
||||||
tool: fpm
|
tool: fpm
|
||||||
build_pipeline:
|
build_pipeline:
|
||||||
steps:
|
dockerfile: Dockerfile.package
|
||||||
- name: build_binary_in_docker
|
stages:
|
||||||
|
- name: builder
|
||||||
description: >
|
description: >
|
||||||
Utiliser l’image builder pour compiler logcorrelator et installer le
|
Compilation du binaire Go avec CGO_ENABLED=0 pour un binaire statique.
|
||||||
binaire dans un répertoire de staging (par ex. /tmp/pkgroot/usr/bin/logcorrelator).
|
GOOS=linux GOARCH=amd64.
|
||||||
- name: prepare_filesystem_layout
|
- name: package_builder
|
||||||
description: >
|
description: >
|
||||||
Créer la hiérarchie :
|
Installation de fpm, rpm, dpkg-dev. Création de l'arborescence
|
||||||
- /usr/bin/logcorrelator
|
et exécution de fpm pour générer DEB et RPM.
|
||||||
- /etc/logcorrelator/logcorrelator.toml (exemple)
|
- name: output
|
||||||
- /etc/systemd/system/logcorrelator.service (unit)
|
|
||||||
- /var/log/logcorrelator (répertoire de logs)
|
|
||||||
- name: run_fpm_in_docker
|
|
||||||
description: >
|
description: >
|
||||||
Lancer un conteneur fpm (par ex. image ruby:fpm) avec montage de
|
Image Alpine minimale contenant les packages dans /packages/deb et /packages/rpm.
|
||||||
/tmp/pkgroot, et exécuter fpm -s dir -t rpm pour générer le .rpm
|
files:
|
||||||
compatible Rocky Linux.
|
binary:
|
||||||
- name: verify_rpm_on_rocky
|
source: dist/logcorrelator
|
||||||
description: >
|
dest: /usr/bin/logcorrelator
|
||||||
Tester l’installation et le démarrage du service dans un conteneur
|
mode: "0755"
|
||||||
Rocky Linux 8/9 (docker run --rm -it rockylinux:8), en installant le
|
config:
|
||||||
.rpm, en activant le service systemd et en vérifiant qu’il démarre
|
- source: config.example.conf
|
||||||
correctement.
|
dest: /etc/logcorrelator/logcorrelator.conf
|
||||||
|
mode: "0640"
|
||||||
|
config_file: true
|
||||||
|
- source: config.example.conf
|
||||||
|
dest: /usr/share/logcorrelator/logcorrelator.conf.example
|
||||||
|
mode: "0640"
|
||||||
|
directories:
|
||||||
|
- path: /var/log/logcorrelator
|
||||||
|
mode: "0755"
|
||||||
|
- path: /var/run/logcorrelator
|
||||||
|
mode: "0755"
|
||||||
|
- path: /etc/logcorrelator
|
||||||
|
mode: "0750"
|
||||||
|
maintainer_scripts:
|
||||||
|
deb:
|
||||||
|
postinst: packaging/deb/postinst
|
||||||
|
prerm: packaging/deb/prerm
|
||||||
|
postrm: packaging/deb/postrm
|
||||||
|
rpm:
|
||||||
|
post: packaging/deb/postinst
|
||||||
|
preun: packaging/deb/prerm
|
||||||
|
postun: packaging/deb/postrm
|
||||||
|
dependencies:
|
||||||
|
deb:
|
||||||
|
- systemd
|
||||||
|
rpm:
|
||||||
|
- systemd
|
||||||
|
verify:
|
||||||
|
deb:
|
||||||
|
command: docker run --rm -v $(pwd)/dist/deb:/packages debian:latest sh -c "apt-get update && apt-get install -y /packages/*.deb"
|
||||||
|
rpm:
|
||||||
|
command: docker run --rm -v $(pwd)/dist/rpm:/packages rockylinux:8 sh -c "dnf install -y /packages/*.rpm"
|
||||||
|
|
||||||
non_functional:
|
non_functional:
|
||||||
performance:
|
performance:
|
||||||
|
|||||||
Reference in New Issue
Block a user