【问题标题】:Push to Heroku from Jenkins从 Jenkins 推送到 Heroku
【发布时间】:2013-09-17 02:07:05
【问题描述】:

无法从 Jenkins Machine 推送 django 应用

我正在通过 git 将我的代码推送到 heroku。当我在我的詹金斯盒子上执行此操作时,我收到一个错误,将同一个 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

来自詹金斯盒子

~ 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

【问题讨论】:

  • 我可以看到的一个区别是,在 jenkins 存储库中,克隆发生在“工作区”目录中。

标签: django git heroku jenkins


【解决方案1】:

jenkins 将 repo 克隆到的目录名为“workspace”。由于某种原因,这种名称不匹配导致了 heroku 的 pre-commit 钩子的反射。我从一个名为“jenkinshub”的不同目录从詹金斯盒子推送到远程仓库,它起作用了。我创建了一个简单的后期构建脚本来处理推送。

后期构建脚本

$ 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 2020-01-01
    • 2014-02-13
    相关资源
    最近更新 更多