I am trying to add the following script to the ApplicationStart
section of my CodeDeploy appspec.yml
:
# collect_static_files.sh
#!/bin/bash
# source other files, change dir, activate python here
./manage.py collectstatic --noinput
With this file added deploys fail with
Script at specified location: scripts/deploy/collect_static_files.sh failed to close STDOUT
The log for the ApplicationStart
event doesn't show anything other than the command output:
[stderr]You are using pip version 18.1, however version 21.3.1 is available.
[stderr]You should consider upgrading via the 'pip install --upgrade pip' command.
Script - scripts/deploy/collect_static_files.sh
[stdout]
[stdout]170 static files copied to '/var/www/mydir/static'.
I've tried turning off and redirecting output:
# ./manage.py collectstatic --noinput > /dev/null 2>&1
# ./manage.py collectstatic --noinput --verbosity 0
Neither of which clear the error and even if they did wouldn't really solve the problem as I would like the output added to the log.
There is something similar discussed on the codedeploy agent GitHub but for backgrounded commands.
Also did a search for closing STDOUT
but that doesn't seem like something I should be doing manually. What am I missing?