fix(artisan-run): pass command via base64 to avoid SSH shell-quote space loss (first dry-run showed 'supplier:rekey-orphansdry-run' — space eaten by printf %q + outer double-quote interaction; base64 encode locally + decode on prod side preserves spaces and special chars cleanly)
This commit is contained in:
@@ -77,9 +77,11 @@ jobs:
|
||||
- name: Run artisan on prod
|
||||
run: |
|
||||
set -o pipefail
|
||||
CMD_B64=$(printf '%s' "$CMD" | base64 -w0)
|
||||
ssh -i ~/.ssh/liderra_deploy ${{ env.LIDERRA_USER }}@${{ env.LIDERRA_HOST }} \
|
||||
"CMD=$(printf '%q' \"$CMD\") bash -s" <<'REMOTE' | tee /tmp/artisan-output.log
|
||||
"CMD_B64='$CMD_B64' bash -s" <<'REMOTE' | tee /tmp/artisan-output.log
|
||||
set +e
|
||||
CMD=$(echo "$CMD_B64" | base64 -d)
|
||||
cd /var/www/liderra/app
|
||||
echo "=== Running: php artisan $CMD on $(hostname) at $(date -u) ==="
|
||||
sudo -u www-data php artisan $CMD 2>&1
|
||||
|
||||
Reference in New Issue
Block a user