【问题标题】:How to deploy parse dashboard to heroku如何将解析仪表板部署到heroku
【发布时间】:2016-07-07 07:41:45
【问题描述】:

我已经在 heroku (https://github.com/ParsePlatform/parse-server) 上部署了解析服务器,但找不到任何东西可以在 heroku 上部署解析仪表板。任何参考表示赞赏!

【问题讨论】:

  • Github 页面正在进行讨论:github.com/ParsePlatform/parse-dashboard/issues/159
  • 我得到了上面评论的 GitHub 问题页面的帮助,但我仍然需要一段时间才能将一个功能正常的仪表板部署到 Heroku。最后,我得到了它的工作并在这里记录了我的步骤:andrewcbancroft.com/2016/04/17/deploying-parse-dashboard 我已经对引用的问题发表了评论,看看我是否可以将其贡献给文档,但现在它在我的个人博客上。希望它能帮助其他偶然发现这个问题的人。
  • 我尝试打开 appname.herokuapp.com/parse。浏览器将我重定向到 appname.herokuapp.com/apps/appname/browser 不显示解析数据库。

标签: heroku parse-platform


【解决方案1】:
  1. 更新 brew brew update
  2. 安装heroku-cli brew install heroku-toolbelt
  3. 使用您的 heroku 凭据heroku login 通过命令行登录
  4. 确保您的应用存在 heroku list 并注意 YOURHEROKUAPPSNAME 包含 parse-dashboard 部署
  5. 告诉 Heroku 忽略之前部署的缓存 heroku config:set NODE_MODULES_CACHE=false --app YOURHEROKUAPPSNAME
  6. 转到您的 package.json 并将 start: node ./Parse-Dashboard/index.js 更改为 start node./Parse-Dashboard/index.js --config ./Parse-Dashboard/parse-dashboard-config.json --allowInsecureHTTP=1"
  7. 删除您的 Procfile rm Procfile
  8. 添加、提交和合并到您的主分支
  9. 运行git push heroku master

package.json 中的start 脚本会覆盖您在 Procfile 中声明的任何内容。这个过程应该能够干净地部署到 Heroku。在按照parse-dashboard documentation 执行此部署之前,请谨慎并使用强密码生成用户登录信息。

【讨论】:

  • 您是否在与解析服务器相同的 Heroku dyno 上运行仪表板?我正在努力让它发挥作用。
  • @listingboat 我正在尝试做同样的事情并遇到问题。你运气好吗?
  • @AlexArgo 是的,这里:ParseDashboard = require('parse-dashboard'), var dashboard = new ParseDashboard({ "apps": [ { "serverURL": serverUrl, "appId": process.env.APP_ID, "masterKey": process.env.MASTER_KEY, "appName": process.env.APP_NAME, "production": appSettings.PRODUCTION } ], "users": [ { "user": "admin", "pass": process.env.PARSE_DASHBOARD_ADMIN_PASSWORD || "password" } ] }, true); app.use('/dashboard', dashboard);
【解决方案2】:

我只是设法让这个工作。这是我采取的步骤。

  1. 将 parse-dashboard 克隆到本地计算机。
  2. 在该目录中运行 npm install。
  3. 更新 package.json 并将“start”脚本更改为:

    "start": "node ./Parse-Dashboard/index.js --config ./Parse-Dashboard     /parse-dashboard-config.json --allowInsecureHTTP=1" 
    

    (感谢上面nsarafa的回答)。

  4. 编辑您的 .gitignore 文件并删除以下三行:

    bundles/Parse-Dashboard/public/bundles/Parse-Dashboard/parsedashboard-config.json
    
  5. 编辑Parse-Dashboard/parse-dashboard-config.json 中的配置文件,确保 URL 和密钥正确。这是一个例子:

    {
    "apps": [
      {
        "serverURL": "https://dhowung-fjird-52012.herokuapp.com/parse",
        "appId": "myAppId",
        "masterKey": "myMasterKey",
        "appName": "dhowung-fjird-40722"
      }
     ],
    "users": [
      {
       "user":"myUserName",
       "pass":"Str0ng_?Passw0rd"
      }
     ]
    }
    
  6. 从您的 Heroku 解析服务器应用程序中删除缓存:

     heroku config:set NODE_MODULES_CACHE=false --app yourHerokuParseServerApp 
    

    如果我们按照上面的例子进行

     yourHerokuParseServerApp = dhowung-fjird-40722 
    

    (再次感谢 nsarafa)。

  7. 添加、提交和推送您的更改。

  8. 使用他们的 CLI 或仪表板再次部署到 Heroku。

第 4 步对我来说是关键,因为我没有提交我的配置文件,我花了一段时间才意识到。

另外,如上所述,请确保您的配置文件中有用户登录名和密码,遵循parse-dashboard docs:

PS:在你的 Heroku 解析服务器上,确保你的 SERVER_URL 看起来像这样 https://yourHerokuParseServerAppName.herokuapp.com/parse

【讨论】:

【解决方案3】:

您不必克隆 parse-dashboard 存储库。这是使用 parse-dashboard 作为节点模块的更好方法。

  1. 创建一个新的节点应用:

    mkdir my-parse-dashboard
    cd my-parse-dashboard
    npm init
    

    填写它要求的详细信息。

  2. 创建一个 git 存储库:

    git init
    

    此外,您可以将此 git 存储库推送到远程服务器(例如 Bitbucket)。请注意,此存储库应该是私有的,因为它将包含您的主密钥。

  3. 安装 parse-dashboard 包:

    npm install parse-dashboard --save
    
  4. 使用以下行创建一个index.js 文件:

    require('parse-dashboard/Parse-Dashboard/index.js');
    
  5. 创建一个如下所示的 parse-dashboard-config.json 文件:

    {
      "apps": [
        {
          "serverURL": "your parse server url",
          "appId": "your app Id",
          "masterKey": "your master key",
          "appName": "My Parse App"
        }
      ],
      "users": [
        {
          "user":"username",
          "pass":"password"
        }
      ]
    }
    
  6. 更新您的 package.json 文件并添加此部分(如果已存在,则对其进行修改):

      "scripts": {
        "start": "node ./index.js --config ./parse-dashboard-config.json --allowInsecureHTTP=1"
      }
    

    注意:在 Heroku 上似乎需要 allowInsecureHTTP 标志。感谢@nsarafa。

  7. 提交所有更改并将它们合并到master
  8. 创建一个新的 Heroku 应用程序:heroku apps:create my-parse-dashboard
  9. 运行 git push heroku master 将您的应用部署到 Heroku。

请记住生成一个强密码,因为互联网上的任何人都可以访问您的仪表板。并使仪表板只能通过 SSL 访问,否则您的密码将以明文形式发送。阅读此tutorial,了解如何使用 Cloudflare 为您的域强制 Heroku 上的所有流量通过 SSL。

【讨论】:

  • 嗯.. 我完全按照这个操作并得到一个“应用程序错误”。任何想法如何调试这个?我的配置文件离线工作。
  • @Muz 从您的目录运行heroku logs 并查看日志中出现此错误的原因。
  • 得到“应用程序错误”后,我使用"scripts": { "start": "parse-dashboard --config ./parse-dashboard-config.json --allowInsecureHTTP=1" },修复了它
  • 谢谢你,如果我想同时部署 Parse Server 和 ParseDashboard,请问我该怎么做。
  • 我尝试打开appname.herokuapp.com/parse。浏览器将我重定向到 appname.herokuapp.com/apps/appname/browser 不显示解析数据库。
猜你喜欢
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-14
  • 2021-08-12
  • 1970-01-01
  • 1970-01-01
  • 2019-04-21
相关资源
最近更新 更多