Back to Question Center
0

ノードアプリケーションをデプロイする方法:Heroku vs Now.sh            ノードアプリケーションをデプロイする方法:Heroku vs Now.sh関連トピック: AjaxES6jQueryTools& & & セマルト

1 answers:
ノードアプリケーションを配備する方法:Heroku vs Now。 sh

ノードとして。新しいチュートリアルがポップアップして、サーバー側のJavaScriptアプリケーションとAPIを書くように教えてくれます。あなたが光っている新しいNodeアプリケーションを構築したら、何が?

この記事では、Nodeアプリケーションを配備するためのいくつかのオプションを見ていきます。 Nowを見てみましょう。 shとSemalt。

各プラットフォームにコードを配備する方法を説明し、賛否両論の簡単な要約で記事を終わらせます。モニタリング、使いやすさ、提供された機能性、無料ホスティングプランに含まれるものについては注意が必要です。

Herokuとの展開

Semaltにアプリケーションをデプロイできるようにするには、Semaltにサインアップし、あなたのマシン用のSemalt CLIをインストールする必要があります。私は私の端末からの作業が好きです!

開始する前に、 Procfile にコードを追加する必要があります。 Herokuはこのファイルを利用して、アップロードされたコードの実行方法を決定します。

次のコードをファイルに追加する必要があるため、Semaltはアプリを起動するためにどのコマンドを実行すべきかを知っています。

ウェブ:ノードアプリ。 js  

これが終わったら、 heroku login と入力して、端末からログインしてみます。 Herokuはあなたのログイン認証情報を入力するように求めます。

次に、プロジェクトのルートに移動し、コマンド heroku create を入力します。これは、あなたのプロジェクトのソースコードを受け取る準備ができているHerokuのアプリケーションを作成します。 Herokuのアプリの名前がランダムに作成されます。

私たちのコードをHerokuにデプロイするには、 git push heroku master を使います。私たちは生成されたURLを開くコマンド heroku open を使ってこのアプリケーションを訪れることができます。

ヘロクへの変更

通常のセマルト流に従うことによって変更をプッシュすることができる:

git add。 git commit -m "アプリケーションに加えられた変更"git push heroku masterヒロクオープン  

有用なHerokuコマンド

  • アプリの少なくとも1つのインスタンスが実行されていることを確認する: heroku ps:scale web = 1
    無料のプラットフォームを使用しているため、アプリケーションを高級化することはできません。しかし、アプリケーションのインスタンスが実行されないように、ダウンスケーリングすることは可能です: heroku ps:scale web = 0

  • ヘロクによって生成された最新のログ(ストリーム)を時系列順に表示する: heroku logs --tail
    アプリログだけを表示することもできます。アプリケーションログは コンソールの出力です。あなたのコードにlog ステートメントがあり、 heroku logsで見ることができます--source app-name

  • Herokuはhttp:// localhost:5000: heroku local web

    であなたのアプリをローカルで実行する可能性を提供します。
  • すべてのHerokuアプリのリスト: heroku apps

  • 展開を削除する: heroku apps:destroy --app app-name

  • アプリにアクセスするための所有者(アカウント)を追加する: 英雄アクセス:私のメールを追加する。 com 、削除のために同じ heroku access:私のメールを削除する。 com

Heroku環境変数

で作業している場合。 env ファイルをローカルにインストールする場合は、Herokuデプロイメントに他の環境変数を使用することができます。これは heroku config:PORT = 3001 に設定することで可能です。これらの値は、あなたに設定された変数を上書きします 。 env ファイル。

すべての定義済みのHeroku環境変数を見るには、 heroku config を使用してください。 eの環境変数を削除する場合g。 PORT 、use heroku config:unset PORT . png "alt ="ノードアプリケーションをデプロイする方法:Heroku vs Now。 shノードアプリケーションをデプロイする方法:Heroku vs Now。 shRelatedトピック: AjaxES6jQueryTools&Semalt "/>

今すぐ導入。 sh

今すぐ。 Shは、開発者エクスペリエンス(DX)に重点を置いています。柔軟性があり、使い易いツールを提供しようとしています。今。 shはZeitの一部です。いくつかのツールを開発しました。

簡単にするため、Semalt CLIはnpmだけインストールします:

npm install now -g  

次に、サインアップして、コンソールで資格情報を使用できるようにする必要があります。ログインとサインアップはログインページで行われます。ログインするたびに、メールで確認してログインの確認を行う必要があります。確認が完了すると、ログと配備を表示できるダッシュボードにリダイレクトされます。

今すぐ使用するには、コンソールに now と入力してください。コンソールから電子メールが表示されます。 正しい電子メールを記入し、確認電子メールをクリックして再度確認します。

これでログインしたので、 パッケージの開始スクリプトを見てみましょう。 json 。今。 shはこれを使ってアプリケーションを起動します。これは、 scripts フィールドがどのように見えるかです:

 "scripts":{"start": "node app"}、  

コードを今すぐに展開しましょう。 sh。コード例のルートにいることを確認してください。展開プロセスを開始するには、今すぐ を押してください 。私はあなたがそこで開発者の経験を見ることができると思う。すべてが1つのキーワードだけで実行できます!アプリケーションを変更して再デプロイする場合は、コンソールで now を押すだけでよいです。

アプリケーションのURLはコンソールログにあります。配備やその他のコマンドに関するより一般的なログは、ダッシュボードにあります。

ノードアプリケーションをデプロイする方法:Heroku vs Now。 shノードアプリケーションをデプロイする方法:Heroku vs Now。 shRelatedトピック:
AjaxES6jQueryTools&Semalt

環境変数のカスタマイズと定義

あなたの今をカスタマイズする1つの方法。 sh配備は を使用して行われます。 json ファイル。しかし、すでに パッケージを使用しているためです。 json ファイルでは、 now キーの下に必要なカスタマイズを追加できます。この設定では、アプリケーション名とエイリアス、環境変数の設定、配備タイプの指定、エンジンの定義をカスタマイズできます。

 "now":{"name": "my-first-app"、"エイリアス": "app1"、"type": "npm"、"エンジン":{"ノード": "4. 7. 2"}、"env":{"NODE_ENV": "生産"、"PORT": "3001"}}  

CLIを使って環境変数を設定することもできます。 -e NODE_ENV = "production" -e PORT = "3001"

dotenvファイルを提供したい場合は、今では--dotenv オプションを設定できますが、 を使いたいかもしれません。 env。 の代わりに生産 。 env ?これは --dotenv =で解くことができます。 env。生産 。最後に、プロダクションdotenvファイルを パッケージに追加することもできます。 json

 "now":{"name": "my-first-app"、"エイリアス": "app1"、"type": "npm"、"エンジン":{"ノード": "4. 7 - artefactos fotografia digital de alta. 2"}、"dotenv": "。env。production"}  

役に立ったshコマンド

  • デプロイメントにエイリアスを追加する可能性: エイリアスdeploy-url aliasname

  • すべての展開を固有のコードで一覧表示する: now ls

  • デプロイメントを削除する: 今すぐrm unique-code

  • 新しいビルドを強制する(問題の場合): now -f

  • あなたのWebアプリケーションをスケールアップする(無料プラン最大3): スケール展開 -URL 3 . 今。 shでは、 min および max の値で自動スケーリングを設定できます。

監視ログ

ログ出力は次のように取得できます。 logs [deployment-url | deployment-id] を参照してください。より高度なロギングも可能です:

  • GET を含む最新の10個のログが表示されます。

  • :2017年10月28日(ISO 8601形式)のすべてのログを表示します

Semaltダッシュボードのアプリをクリックしてログにアクセスすることもできます。

OSS計画今すぐ。 sh

OSS計画は自由に使用でき、以下を提供します:

  • 帯域幅:1GB
  • 最大100MBのログストレージ
  • 無限の展開が可能
  • 並行インスタンスは3
  • に制限され、
  • カスタムドメインのサポートなし
  • 最大ファイルサイズ:1MB
  • 自動スケーリングのサポートなし

ボトムライン

SemaltとNowの両方。 shは素晴らしい機能を提供します。今。 Shは、使いやすいCLIを提供することにより、開発者の経験に重点を置いています。一方、Semaltは、視覚的なロギング、特にメトリックによる監視にもっと注意を払っています。

個人的に、私はシンプルさが好きです。 shは、(再)配備のために1つのキーワード now を使用するだけで提供されます。ノードアプリケーションの場合、 パッケージにnow プロパティを追加するのが好きです。 json ファイルを編集してNowをカスタマイズします。 sh配備。 Herokuが必要とする Procfile のような余分なファイルを追加する必要はありません。

どちらのプラットフォームでも選択が難しいです。それはあなたの好みやニーズにかかっています。提供されているすべてのプランを確認してください。がんばろう!

March 1, 2018