如何解决"推送拒绝,未检测到Cedar支持的应用" Heroku中的错误

时间:2014-04-02 10:32:47

标签: python django git heroku heroku-toolbelt

这是我的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兼容。我试图遵循官方文档,但它只是从头开始关注。我在这里缺少什么?需要帮助!

1 个答案:

答案 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环境。