Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f1b0cf0e3 | ||
|
|
b5979462f0 |
@@ -110,6 +110,11 @@ run chmod -R g+rwX "$host_release"
|
||||
run ln -s ../../shared/.env "$host_release/.env"
|
||||
run ln -s ../../shared/storage "$host_release/storage"
|
||||
|
||||
# PHP runs as uid/gid 1000 inside the container. act_runner often owns
|
||||
# shared/.env as 0600, which makes env() empty and config:cache write NULLs.
|
||||
run chgrp "$php_group" "$DEPLOY_ROOT/shared/.env"
|
||||
run chmod 640 "$DEPLOY_ROOT/shared/.env"
|
||||
|
||||
run docker exec --user "$php_user" --workdir "$container_release" \
|
||||
"$PHP_CONTAINER" composer install \
|
||||
--no-dev --no-interaction --prefer-dist --optimize-autoloader
|
||||
@@ -138,6 +143,16 @@ if test "$dry_run" != "true"; then
|
||||
--workdir "$CONTAINER_DEPLOY_ROOT/current" \
|
||||
"$PHP_CONTAINER" php artisan up
|
||||
maintenance_enabled=false
|
||||
# Ask queue workers to exit after the current job (cache signal).
|
||||
artisan queue:restart || true
|
||||
# Restart host daemons so they pick up the new `current` release.
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
if command -v sudo >/dev/null 2>&1 && sudo -n true 2>/dev/null; then
|
||||
sudo -n systemctl try-restart new-pet-queue-worker.service new-pet-ai-worker.service || true
|
||||
else
|
||||
systemctl try-restart new-pet-queue-worker.service new-pet-ai-worker.service 2>/dev/null || true
|
||||
fi
|
||||
fi
|
||||
curl --fail --silent --show-error \
|
||||
--retry 6 --retry-delay 5 --retry-connrefused \
|
||||
"$HEALTHCHECK_URL" >/dev/null
|
||||
@@ -152,12 +167,9 @@ if test "$dry_run" != "true"; then
|
||||
if test "${#old_releases[@]}" -gt 0; then
|
||||
for old_release in "${old_releases[@]}"; do
|
||||
release_name="$(basename "$old_release")"
|
||||
# Prefer container-side delete so root-owned vendor trees are removable.
|
||||
# Delete via the PHP container as root so vendor trees are removable.
|
||||
run docker exec "$PHP_CONTAINER" \
|
||||
rm -rf "$CONTAINER_DEPLOY_ROOT/releases/$release_name"
|
||||
if test -e "$old_release"; then
|
||||
run rm -rf -- "$old_release"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user