【问题标题】:Deploy Jingo to Heroku?Deploy Jingo to Heroku?
【发布时间】:2017-04-07 17:50:15
【问题描述】:

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

jingo 的issue on the github repo 提到了这个问题,并且由于 Heroku 的临时文件系统不支持 jingo 的评论,该问题已关闭。

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

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

【问题讨论】:

    标签: git heroku


    【解决方案1】:

    问题似乎是由于 heroku-cli 将代码部署到 Heroku 的方法。 .git 子文件夹未添加到远程文件系统,因此 fs.statSync(gitDir) 无法找到 .git 子文件夹。没有 git,jingo 从根本上是行不通的。

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

    1.修改Jingo配置:

    任一 在 config.yaml 中指定:

    application:  
        repository: '/app'
    

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

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

    2。在根目录下为应用创建 Procfile:

    web: node jingo -c config.yaml
    

    3.安装 Heroku 插件heroku-builds:

    heroku plugins:install heroku-builds
    

    4.修改heroku-builds代码:

    中删除“--exclude .git”

    ~/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
    

    【讨论】:

      猜你喜欢
      • 2015-03-16
      • 2019-09-06
      • 1970-01-01
      • 2016-08-08
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      相关资源
      最近更新 更多