Relevant settings:
{{{
STATICFILES_DIRS = ('/var/lib/jenkins/jobs/project-pr-
endtoend/workspace/frontend/dist',)
STATICFILES_STORAGE =
'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
STATIC_ROOT = '/var/lib/jenkins/jobs/project-pr-
endtoend/workspace/project/static'
STATIC_URL = '/static/'
}}}
Collectstatic command:
{{{
django-admin collectstatic --noinput --clear --link
}}}
(Possibly run several times in a row, with the same or different static
files.)
We ended up with `'/var/lib/jenkins/jobs/project-pr-
endtoend/workspace/project/static/img/icon-sd3b7ad043d.png'` which was a
symlink to itself.
This prevented gunicorn from starting because we use whitenoise to serve
static files, whitenoise scans the entire static directory on startup, and
it couldn't `stat` a self-referential symlink.
This is quite surprising because:
- If I clear the directory and re-run collectstatic, I cannot reproduce
the issue
- I expect --clear to wipe the directory first
- I don't expect --link to create a self-referential symlink
(This may end up as needsinfo if I don't dig into the details and we can't
figure out the bug from the code. But even then it may help someone who
stumbles upon the same problem.)
--
Ticket URL: <https://code.djangoproject.com/ticket/25022>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/25022#comment:1>
* cc: emorley@… (added)
--
Ticket URL: <https://code.djangoproject.com/ticket/25022#comment:2>
* status: new => closed
* resolution: => needsinfo
Comment:
> This may end up as needsinfo...
Reviewing this, I can't reproduce with the details, so I think 6 years
later we can say that a test case or project showing the issue to be
Django's is probably needed.
--
Ticket URL: <https://code.djangoproject.com/ticket/25022#comment:3>