web-dev-qa-db-ja.com

Herokuで複数のコマンドを使用してProcfileを実行するにはどうすればよいですか?

静的WebサイトをHerokuにデプロイしようとしていますが、Procfileを正しく設定する方法に苦労しています。

サーバーで実行する次のコマンドがあります。

  • npm install
  • gulp build/publicフォルダーでビルドを作成します)
  • http-server(デフォルトで/publicを提供します)

私が試したこと:

  • web: npm install; gulp build; http-server
  • web: npm install & gulp build & http-server
7
ummahusla

さて、私はそれに少し時間を費やして答えを思いついた。デフォルトでは、herokuはpackage.jsonファイルからすべてのパッケージをインストールするため、npm installは不要になりました。次に、残ったもの-gulp buildおよびhttp-server

その場合、"postinstall" : "gulp build"package.jsonに追加しましたが、web: http-serverが残りました。

物事を単純化することは実際に問題を解決しました。その情報があなたにとってどれほど役立つかはわかりませんが、共有する価値はあります。

12
ummahusla

&&または同時に同様のライブラリを探していた可能性もあります。

とにかく、そしてドキュメントによれば、Procfileをnpm開始スクリプトへのエントリポイントにすぎないものとして使用してください。


記載されているようにnpmスクリプトのライフサイクルを使用します (npm-scripts)

ドキュメントから直接 (heroku-build-process)

"scripts": {
    "start": "node index.js",
    "test": "mocha",
    "postinstall": "bower install && grunt build"
}

Herokuは、「すべてに対応するアプリがあります」というマントラを採用していますが、ビルドパックには採用しています。構築するものが何であれ、そのためのビルドパックがあります。

1
Harry Scheuerle