将金戈部署到希罗库?



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

jingo 的 github 存储库上的一个问题提到了这个问题,并且该问题已经关闭,并评论说 heroku 不支持 jingo,因为它是短暂的文件系统。

我尝试编辑 gitmech.js以转义 fs.statSync(gitDir) 并将 pushInterval 设置为 0,认为可以通过不推送/拉取到远程存储库来避免该缺陷。但 git 似乎与 jingo 索引、存储和搜索页面的方式集中相关。 不仅仅是它如何管理存储库。

关于如何让金戈部署到 Heroku 的任何想法?

这个问题似乎是由于 heroku-cli 将代码部署到 Heroku 的方法造成的。.git 子文件夹不会添加到远程文件系统中,因此 fs.statSync(gitDir) 无法找到 .git 子文件夹。而 jingo 从根本上说,没有 git 就无法工作。

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

1. 修改金戈配置:

config.yaml 中指定:

application:  
repository: '/app'

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

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

2. 在根目录中为应用程序创建 Procfile:

web: node jingo -c config.yaml

3. 安装英雄库插件 英雄构建:

heroku plugins:install heroku-builds

4. 修改 heroku 构建代码:

从中删除"--排除 .git">

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

~/heroku/plugins/node_modules/heroku-builds/command/builds/create.js (Linux)

5. 使用 heroku-build 从根目录部署代码:

heroku builds:create -a $HEROKU_APP_NAME

最新更新