从詹金斯推到Heroku

时间:2013-09-17 02:07:06

标签: django git heroku jenkins

无法从Jenkins Machine推送django应用程序

我正在通过git将代码推送到heroku。当我在jenkins盒子上执行此操作时,我收到错误将同一个repo推送到同一个遥控器,并且在本地推送时没有收到任何错误。

来自本地

~/code/github/jenkinshub: git remote -v
  heroku    git@heroku.com:vast-oasis-9739.git (fetch)
  ...

~/code/github/jenkinshub: git push heroku master
  Counting objects: 69, done.
  ...    
  -----> Python app detected

~/code/github/jenkinshub: git log
  commit 09de133d179f5be6d699c750a26a7ebf3f05a894

来自jenkins框

~ git remote -v
  heroku    git@heroku.com:vast-oasis-9739.git (fetch)
  ...

~ git push heroku master
  Counting objects: 65, done.
  ...
  !     Push rejected, no Cedar-supported app detected

~ git log
  commit 09de133d179f5be6d699c750a26a7ebf3f05a894

1 个答案:

答案 0 :(得分:0)

jenkins克隆repo的目录名为“workspace”。由于某种原因,这个名称不匹配导致了来自heroku的预提交钩子的反射。我从jenkins框推送到名为“jenkinshub”的不同目录的远程仓库并且工作正常。我创建了一个简单的post构建脚本来处理push。

构建后脚本

$ cd ..
$ sudo rm -rf jenkinshub
$ sudo cp -R workspace jenkinshub
$ sudo chown -R tomcat:tomcat jenkinshub
$ cd jenkinshub
$ sudo su tomcat
$ git push heroku master