prepare public symlink
All checks were successful
CI/CD Pipeline / deploy (push) Successful in 24s
CI/CD Pipeline / promote_stable (push) Successful in 2s

This commit is contained in:
2026-02-26 19:08:37 +01:00
parent 7b22d89dfd
commit 41387be802
12 changed files with 182 additions and 14 deletions

View File

@@ -20,6 +20,39 @@ resolve_php_bin() {
echo "php"
}
ensure_storage_link() {
local storage_public="storage/app/public"
local public_storage="public/storage"
echo "Ensuring public storage link..."
if [[ -e "$storage_public" && ! -d "$storage_public" ]]; then
local backup_path="${storage_public}.bak.$(date +%Y%m%d_%H%M%S)"
echo "Found invalid $storage_public (not a directory). Backing up to $backup_path"
mv "$storage_public" "$backup_path"
fi
mkdir -p "$storage_public"
# If public/storage is a real directory, migrate files before converting to symlink.
if [[ -d "$public_storage" && ! -L "$public_storage" ]]; then
echo "Migrating existing files from $public_storage to $storage_public"
if command -v rsync >/dev/null 2>&1; then
rsync -a "$public_storage"/ "$storage_public"/
else
cp -a "$public_storage"/. "$storage_public"/
fi
rm -rf "$public_storage"
elif [[ -e "$public_storage" && ! -L "$public_storage" ]]; then
local public_backup="${public_storage}.bak.$(date +%Y%m%d_%H%M%S)"
echo "Found invalid $public_storage (not a directory/symlink). Backing up to $public_backup"
mv "$public_storage" "$public_backup"
fi
ln -sfn ../storage/app/public "$public_storage"
mkdir -p "$storage_public/logos" "$storage_public/favicons" "$storage_public/rank-badges"
}
resolve_configured_php_bin() {
local configured="${1:-}"
local current="${2:-php}"
@@ -248,6 +281,8 @@ main() {
echo "Running with PHP binary: $PHP_BIN artisan migrate --force"
"$PHP_BIN" artisan migrate --force
ensure_storage_link
echo "Syncing version/build to settings..."
echo "Running with PHP binary: $PHP_BIN -r <read composer.json version>"
VERSION="$("$PHP_BIN" -r '$c=json_decode(file_get_contents("composer.json"), true); echo $c["version"] ?? "";')"