feat(deploy): add Ubuntu 26.04 production package

This commit is contained in:
2026-08-15 22:50:07 +08:00
parent 0a91cafc4e
commit 65eac893d8
28 changed files with 1101 additions and 4 deletions
+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
set -Eeuo pipefail
ubuntu_dir() {
cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd
}
repo_root() {
cd -- "$(ubuntu_dir)/../.." && pwd
}
compose_file() {
printf '%s/compose.yaml\n' "$(ubuntu_dir)"
}
require_command() {
command -v "$1" >/dev/null 2>&1 || {
printf '缺少命令:%s\n' "$1" >&2
exit 1
}
}
require_env_file() {
local file="$1"
[[ -f "$file" ]] || {
printf '环境文件不存在:%s\n' "$file" >&2
exit 1
}
local mode
mode="$(stat -c '%a' "$file")"
if [[ "$mode" != '600' && "$mode" != '400' ]]; then
printf '环境文件权限必须是 600 或 400,当前为 %s:%s\n' "$mode" "$file" >&2
exit 1
fi
}
env_value() {
local file="$1"
local key="$2"
sed -n "s/^${key}=//p" "$file" | tail -n 1
}
compose() {
local env_file="$1"
shift
docker compose --project-directory "$(ubuntu_dir)" --env-file "$env_file" -f "$(compose_file)" "$@"
}