当我尝试将一个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?
答案 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