2017-07-20 5 views
0

J'essaie d'ajouter newrelic à un site web django déployé via dokku.Ajout de newrelic à une pile python (django) déployée via dokku

J'ai installé newrelic et ajouté aux exigences et également créé le fichier newrelic.ini et ajouté au repo.

J'ai ASLO changé la commande de mon Procfile, il se lit comme:

NEW_RELIC_CONFIG_FILE=newrelic.ini newrelic-admin run-program gunicorn config.wsgi:application 

Whe Je Deloy mais j'obtiens une erreur étrange, avec le démon se plaindre le fichier n'est pas présent:

(ticker_env) [email protected]:ticker(add_newrelic*)$ git push dokku add_newrelic:master 
Counting objects: 8, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (8/8), done. 
Writing objects: 100% (8/8), 4.21 KiB | 0 bytes/s, done. 
Total 8 (delta 3), reused 0 (delta 0) 
remote: master 
-----> Cleaning up... 
-----> Building ticker from herokuish... 
-----> Adding BUILD_ENV to build environment... 
-----> Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used. 
     Detected buildpacks: multi nodejs python 
-----> Multipack app detected 
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-python.git 
=====> Detected Framework: Python 
-----> Installing requirements with pip 

-----> $ python manage.py collectstatic --noinput 
     DEBUG 2017-07-20 06:55:42,979 base 529 139977271977792 Configuring Raven for host: <raven.conf.remote.RemoteConfig object at 0x7f4ef31a7a90> 
     111 static files copied to '/tmp/build/staticfiles', 111 post-processed. 

     Using release configuration from last framework (Python). 
-----> Discovering process types 
     Procfile declares types -> web, tracker 
-----> Releasing ticker (dokku/ticker:latest)... 
-----> Deploying ticker (dokku/ticker:latest)... 
-----> Attempting to run scripts.dokku.predeploy from app.json (if defined) 
-----> App Procfile file found (/home/dokku/ticker/DOKKU_PROCFILE) 
-----> DOKKU_SCALE file found (/home/dokku/ticker/DOKKU_SCALE) 
=====> web=1 
=====> tracker=1 
-----> Attempting pre-flight checks 
     For more efficient zero downtime deployments, create a file CHECKS. 
     See http://dokku.viewdocs.io/dokku/deployment/zero-downtime-deploys/ for examples 
     CHECKS file not found in container: Running simple container check... 
-----> Waiting for 10 seconds ... 
644dd10a08b1186f90570d2c4186027533da19a53648c36f380f1c1ee480f04c 
remote: App container failed to start!! 
=====> ticker web container output: 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
=====> end ticker web container output 
To ideallab.org:ticker 
! [remote rejected] add_newrelic -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:ticker' 

Le fichier est là dans le repo et dans la branche. Dois-je modifier le buildpack pour m'assurer qu'il sera correctement pris en compte?

Répondre

0

Je l'ai compris. Il suffit d'exporter le fichier NEW_RELIC_CONFIG_FILE en tant que variable d'environnement via dokku et de ne pas l'ajouter au fichier Procfile. En ticker peut, le cas est le nom de l'application

dokku config:set ticker NEW_RELIC_CONFIG_FILE=newrelic.ini 

puis procfile est

newrelic-admin run-program gunicorn config.wsgi:application