0

I am pushing everything from BitBucket to Heroku, using Pipelines. The problem are static files because I am using django-gulp which will compile all sass files (using nodejs and gulp) when I call collectstatic.

It will first push code to Heroku and run it, but as it turns out all other scripts (pip install, npm install, ...) will execute on BitBucket side, and not Heroku. My Profile has this inside:

web: gunicorn magistrska_web.wsgi --log-file -

Website is running, but there are no static files.

If always run with DISABLE_COLLECTSTATIC=1, otherwise I get the following

remote: -----> $ python manage.py collectstatic --noinput        
remote:        /bin/sh: 1: gulp: not found 

What I would need to do is for Heroku to first run npm install before collectstatic or it won't work, but I am having hard time finding any documentation on this.

heroku local web works fine, because I ran collectstatic before locally.


bitbucket-pipelines.yml configuration:

image: nikolaik/python-nodejs

pipelines:
  default:
    - step:
        script:
          - git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git HEAD
          - pip install -r requirements.txt
          - npm install
          - npm install -g gulp
          - python manage.py collectstatic --noinput
Bojan Kogoj
  • 4,521
  • 1
  • 30
  • 52

1 Answers1

0

The solution was way too easy!

I needed to add another, nodejs buildpack on Heroku and it worked! Example below

enter image description here

Bojan Kogoj
  • 4,521
  • 1
  • 30
  • 52