installerbuilder/examples/linux-service-app.yaml

133 lines
3.2 KiB
YAML

# Linux Service App - Linux服务应用示例配置
# 这个示例展示了如何为Linux服务应用配置DEB和RPM安装包
name: "LinuxServiceApp"
version: "0.9.5"
description: "A Linux service application"
author: "Linux Developer"
license: "GPL-3.0"
# 构建目标 - 为Linux生成DEB和RPM安装包
targets:
- platform: "linux"
arch: "amd64"
packageType: "deb"
outputPath: "dist/debian"
- platform: "linux"
arch: "amd64"
packageType: "rpm"
outputPath: "dist/redhat"
- platform: "linux"
arch: "arm64"
packageType: "deb"
outputPath: "dist/debian-arm64"
- platform: "linux"
arch: "arm64"
packageType: "rpm"
outputPath: "dist/redhat-arm64"
# 文件 - 指定要包含在安装包中的文件
files:
- source: "bin/service-app"
destination: "usr/bin/service-app"
permissions: "0755"
- source: "config/service-app.conf"
destination: "etc/service-app/service-app.conf"
permissions: "0644"
- source: "systemd/service-app.service"
destination: "lib/systemd/system/service-app.service"
permissions: "0644"
- source: "docs/README.md"
destination: "usr/share/doc/service-app/README.md"
permissions: "0644"
- source: "docs/man/service-app.1"
destination: "usr/share/man/man1/service-app.1"
permissions: "0644"
# 目录 - 指定要包含在安装包中的目录
directories:
- source: "data"
destination: "var/lib/service-app"
permissions: "0755"
recursive: true
- source: "scripts"
destination: "usr/share/service-app/scripts"
permissions: "0755"
recursive: true
# Linux特定配置
plugins:
# DEB包配置
deb:
section: "net"
priority: "optional"
maintainer: "Linux Developer <dev@example.com>"
homepage: "https://example.com/service-app"
# 控制脚本
scripts:
preinst: "debian/preinst"
postinst: "debian/postinst"
prerm: "debian/prerm"
postrm: "debian/postrm"
# 创建用户和组
user:
name: "service-app"
system: true
group: "service-app"
home: "/var/lib/service-app"
shell: "/usr/sbin/nologin"
# 配置文件标记
conffiles:
- "/etc/service-app/service-app.conf"
# RPM包配置
rpm:
group: "Applications/Internet"
vendor: "Example Corp"
url: "https://example.com/service-app"
# 控制脚本
scripts:
pre: "rpm/pre"
post: "rpm/post"
preun: "rpm/preun"
postun: "rpm/postun"
# 创建用户和组
user:
name: "service-app"
system: true
group: "service-app"
home: "/var/lib/service-app"
shell: "/usr/sbin/nologin"
# 配置文件标记
config:
- "/etc/service-app/service-app.conf"
# 安装前脚本 - 检查系统要求
preInstall:
path: "scripts/pre-install.sh"
type: "shell"
args: ["--check-deps"]
# 安装后脚本 - 启动服务
postInstall:
path: "scripts/post-install.sh"
type: "shell"
args: ["--start-service"]
# 依赖项 - Linux服务运行所需的依赖
dependencies:
- name: "openssl"
version: ">=1.1.0"
type: "runtime"
- name: "systemd"
version: ">=230"
type: "runtime"
- name: "libpq5"
version: ">=12.0"
type: "runtime"