这是我的Django
项目结构:
Testing
|_djangoApp
|_Testing
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- utils.py
| |-- wsgi.py
|
|_manage.py
|_Procfile
|_requirements.txt
|_README.md
我正在使用codeship.io
来部署构建并将其推送到Heroku
,这是配置良好的。在heroku
我添加了一个名为" Testing"的应用程序。
我尝试使用Heroku
推送codeship
上的内置版本,但它给了我以下错误:
! Push rejected, no Cedar-supported app detected
To git@heroku.com:Testing.git
! [remote rejected] feca277a98c193c3b338ee1bd1406e6bc8f6b9e7 -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:Testing.git'
Procfile的内容:
web: gunicorn Testing.wsgi
requirements.txt的内容:
Django==1.3.1
docutils==0.8.1
psycopg2==2.4.2
Fabric==1.3.2
South==0.7.3
gunicorn==0.13.4
newrelic==1.0.5.156
django-celery==2.4.2
django-kombu==0.9.4
django-storages==1.1.3
boto==2.1.1
pylibmc==1.2.2
django-pylibmc-sasl==0.2.4
django-sorting==0.1
django-guardian==1.0.3
django-pagination==1.0.7
pyst2==0.4
django-annoying==0.7.6
django-tastypie==0.9.11
django-coverage==1.2.1
django-nose==0.1.3
nosexcover==1.0.7
django-debug-toolbar==0.8.5
Sphinx==1.1.2
django-cache-machine==0.6
django-twilio
我刚从私人仓库Bitbucket
克隆了我的项目,并添加了Procfile
以便与Heroku
兼容。我试图遵循官方文档,但它只是从头开始关注。我在这里缺少什么?需要帮助!
答案 0 :(得分:1)
最后它现在已经解决但很难理解为Django
预先构建的Heroku
项目部署指令,我想在此解释一下:
让我们说你的目录结构如下:
Testing
|_djangoApp
|_Testing
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- utils.py
| |-- wsgi.py
|
|_manage.py
|_requirements.txt
|_README.md
您可以在命令行中使用:python manage.py runserver
但Heroku
需要Procfile
而非ProcFile
或.txt
来运行您的django项目。
现在,将Procfile
添加到您拥有requirements.txt
的同一目录中,然后使用以下语法进行编辑(请记住空格)
web: gunicorn Testing.wsgi -b 0.0.0.0:$PORT
基本requirements.txt
应包含:
Django==1.4
simplejson==2.2.1
lxml==2.3.5
pyyaml==3.10
fabric==1.4.3
unittest2==0.5.1
mock==1.0b1
psycopg2==2.4.5
dj-database-url==0.2.1
gunicorn==0.14.6
gevent==0.13.7
greenlet==0.4.0
boto==2.5.2
django-storages==1.1.5
django-ses==0.4.1 #remove this if you don't use Amazon SES
redis==2.7.1
django-celery==3.0.11
South==0.7.6
现在将其推送到您的heroku
帐户。
还有一点,如果您想将Bitbucket
repo推送到Heroku
,那么您可以使用codeship.io
作为中间工具。
每当您从本地仓库推送时,新版本将自动部署到Heroku环境。