Heroku展開成功の秘訣


Herokuに配備することは、トリッキーでありえます.ここにあなたの展開されたアプリケーションの作業を取得するいくつかのヒントがあります!

目次
  • Deployment
  • OAuth
  • JawsDB for MySQL
  • MongoDB Atlas for MongoDB

  • 展開
    GUIを使用してHerokuアプリを作成する
  • Herokuアカウントへ移動
  • をクリックして新しいアプリケーションを作成し、アプリケーションの名前を入力します
  • 「配備」「配備メソッド」の下で
  • githubレポの名前を入力して
  • 自動的にマスターを更新してHerokuを更新する自動展開を有効にするgit push heroku master )
  • 端末のレポに移動する
  • Remoteを表示するには、まだHerokuリモコンがないはずです.git remote -v
  • あなたのアプリケーションのリモートを作成しますheroku git:remote -a [heroku app name]
  • herokuリモートを参照してくださいgit remote -v

  • オーウット
  • 追加するclientID and clientSecret Heroku上の設定varsの対応する値を持つキーとして
  • OAuthアプリケーションでは、Heroku URLをホームページとコールバックURLとして追加します
  • パスポートルートの確認/ ホームページとして.必要に応じて認証パスにリダイレクトする
  • app.get("/", passport.authenticate("github"), function (req, res) {
      res.redirect("/auth/github");
    });
    
  • セットアップclientID and clientSecret :
  •     {
          clientID: process.env.clientID,
          clientSecret: process.env.clientSecret,
          callbackURL: "/auth/github/callback",
        },
    

    OAuthでローカルでテストするためのオプション
    Herokuへの変更
  • サーバで.更新プログラムclientID and clientSecret 文字列の値を符号化する復帰process.env.clientID and process.env.clientSecret 変更を押す前に
  • 新しいOAuthアプリケーションを作成し、設定localhost . セットアップclientID and clientSecret 使うprocess.env Herokuでは、localhostはそうでなければアプリケーションを設定します.
  • clientID: process.env.clientID || [new_locahost_clientID_here],
    clientSecret: process.env.clientSecret || [new_localhost_clientSecret_here],
    
  • クリエイトア.env ファイルを追加clientID="{clientID}" and clientSecret="{clientSecret}" . 必ず加える.env to .gitignore . npm i dotenv フォローdotenv セットアップ命令

  • MySQLのためのjawsdb
  • Herokuアプリの[概要]タブから[設定アドオンを設定]を選択します
  • JawsDB MySQLを検索し、アドオンを追加する
  • 接続情報のJawsDBリンクをクリックする
  • MySQLのワークベンチに新しい接続を設定してください
  • ホスト名、ユーザ名、パスワード情報を入力し、接続をテストします(誤って余分なスペースを貼り付けないようにしてください).
  • 接続をオープンし、成功した場合は、Gibberishの文字列である唯一のデータベースを参照してください
  • シーケンスを作成する必要はありません
  • Herokuで設定を行ってください
  • URL値でJawsdbRange URL用の設定varがあるか確認します
  • インconfig.json , 次のように「生産」プロパティーを設定します.
  • "production": {
        "dialect": "mysql",
        "use_env_variable": "JAWSDB_URL"
      }
    

    MongoDB/マングースのためのMlab
    現在、RAMN研究所は減価償却されます.代わりにMongoDBの地図を使用してください.
  • このコマンドを実行して、アプリケーションにmlabを提供します.heroku addons:create mongolab
  • Herokuアプリに移動し、MLABアドオンを確認する
  • 設定に設定してください.MONGODB_URL 設定変数
  • 保証mongoose が必要ですserver.js
  • マングース接続の更新server.js 以下のようになります.
  • var MONGODB_URI = process.env.MONGODB_URI || "mongodb://localhost/db_name";
    const options = {
      useNewUrlParser: true,
      useCreateIndex: true,
      useFindAndModify: false,
    };
    
    mongoose.connect(MONGODB_URI,options)
    

    モンゴットアトラス

    アトラスアカウント
  • クリエイトユアMongoDB Atlas アカウント
  • 新しい"クラスタ"を作成する
  • フリーティアを選択
  • 任意のプロバイダを使用することができます
  • あなたに最も近い無料層の地域のサーバーを選択します
  • クラスタを作成した後、クラスタでは、セキュリティ
  • +新規データベースユーザーの追加
  • ユーザー名の追加
  • アトラスAdminに変更特権
  • ネットワークアクセスに
  • IPアドレスを追加し、どこからでもアクセスを許可
  • 自分のデータを追加
  • あなたのデータベース名と1つのコレクション名を加えてください(彼らがmongooseによってつくられる時から、あなたが複数のコレクションを持っているとしても、1を加える必要があるだけです)

  • MongoDBアトラスとHerokuへの接続
  • クラスタ内の接続ボタンをクリックする
  • アプリケーションを接続し、選択します
  • 文字列をコピーする
  • Herokuの設定でアプリケーションに移動
  • キーでMongodbCount URIを入力してください
  • 値については、MongoDBアトラスからコピーした文字列を貼り付けます
  • MongoDBアトラスセットアップで作成したものと一致するように文字列のユーザー名/パスワードとデータベース名を更新します
  • MongoBrunCount URIをあなたのマングース接続(サーバーにある可能性があります)を見てください
  • mongoose.connect(
      process.env.MONGODB_URI || "mongodb://localhost/databasename",
      {
        useUnifiedTopology: true,
        useNewUrlParser: true,
        useCreateIndex: true,
        useFindAndModify: false,
      }
    );