将Jingo部署到Heroku?

时间:2017-04-07 17:50:15

标签: git heroku

当我尝试将一个jingo repo部署到Heroku时,该应用程序无法启动。我使用heroku logs -a myapp调查了日志,发现在lib / gitmech.js脚本中构造Git对象时发生了致命错误。具体来说,当构造函数尝试使用:Error ENOENT, no such file or directory /app/.git调用fs.statSync(gitDir)时,它会失败。

jingo的issue on the github repo提到了这个问题,并且由于heroku不支持jingo,因为它的短暂文件系统已经关闭了该问题。

我试图编辑gitmech.js以逃避fs.statSync(gitDir)并将pushInterval设置为0,认为可以通过不推/拉到远程仓库来避免这个缺陷。但似乎git集中连接到jingo如何索引,存储和搜索页面。不仅仅是它如何管理存储库。

如何将jingo部署到Heroku?

1 个答案:

答案 0 :(得分:2)

由于heroku-cli将代码部署到Heroku的方法,似乎出现了这个问题。 .git子文件夹未添加到远程文件系统,因此fs.statSync(gitDir)无法找到.git子文件夹。如果没有git,jingo根本不起作用。

昨晚,我发现了解决此问题的方法。我还没有尝试编辑维基,我非常确定如果不设置ssh密钥连接到远程源,推/拉将无法运行。但是,作为一个静态网站,以下是如何将Jingo部署到Heroku:

<强> 1。修改Jingo配置:

config.yaml中的指定:

application:  
    repository: '/app'

在lib / config.js中(对于更动态的解决方案)指定:

application:  
    repository: __dirname + '/../'

<强> 2。在root中为应用创建Procfile:

web: node jingo -c config.yaml

第3。安装Heroku插件heroku-builds

heroku plugins:install heroku-builds

<强> 4。修改heroku-builds代码:

删除&#34; - 排除.git&#34;从

〜/ AppData / Local / heroku / plugins / node_modules / heroku-builds / commands / builds / create.js(Win 7 +)

〜/ heroku / plugins / node_modules / heroku-builds / commands / builds / create.js(Linux)

<强> 5。使用来自root的heroku-builds部署代码:

heroku builds:create -a $HEROKU_APP_NAME