Files

81 lines
1.7 KiB
Bash
Raw Permalink Normal View History

2026-06-27 19:08:48 +08:00
#!/usr/bin/env bash
set -euo pipefail
usage() {
cat <<'EOF'
Usage: deploy/package-asp-compose.sh --version <version> [--output-dir <dir>] [--backend-image <image>] [--frontend-image <image>]
EOF
}
version=""
output_dir="dist"
backend_image=""
frontend_image=""
while [ "$#" -gt 0 ]; do
case "$1" in
--version)
version="${2:-}"
shift 2
;;
--output-dir)
output_dir="${2:-}"
shift 2
;;
--backend-image)
backend_image="${2:-}"
shift 2
;;
--frontend-image)
frontend_image="${2:-}"
shift 2
;;
-h|--help)
usage
exit 0
;;
*)
echo "Unknown argument: $1" >&2
usage >&2
exit 1
;;
esac
done
if [ -z "$version" ]; then
echo "--version is required" >&2
usage >&2
exit 1
fi
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
root="$(cd "$script_dir/.." && pwd)"
source_dir="$script_dir/asp-compose"
dist_dir="$root/$output_dir"
staging="$dist_dir/asp-compose"
2026-08-01 15:08:31 +08:00
archive_path="$dist_dir/asp-compose.tar.gz"
2026-06-27 19:08:48 +08:00
rm -rf "$staging"
mkdir -p "$dist_dir"
cp -a "$source_dir" "$staging"
2026-08-01 15:08:31 +08:00
rm -rf "$staging/.env" "$staging/custom" "$staging/certs" "$staging/logs"
2026-06-28 22:00:56 +08:00
chmod +x "$staging"/scripts/*.sh
2026-06-27 19:08:48 +08:00
env_example="$staging/.env.example"
if [ -n "$backend_image" ]; then
sed -i -E "s|^ASP_BACKEND_IMAGE=.*|ASP_BACKEND_IMAGE=$backend_image|" "$env_example"
else
sed -i -E "s|^(ASP_BACKEND_IMAGE=.*:).*$|\1$version|" "$env_example"
fi
if [ -n "$frontend_image" ]; then
sed -i -E "s|^ASP_FRONTEND_IMAGE=.*|ASP_FRONTEND_IMAGE=$frontend_image|" "$env_example"
else
sed -i -E "s|^(ASP_FRONTEND_IMAGE=.*:).*$|\1$version|" "$env_example"
fi
rm -f "$archive_path"
tar -czf "$archive_path" -C "$dist_dir" asp-compose
echo "Created $archive_path"