LoginSignup
0
0

More than 5 years have passed since last update.

travis 上で webpack-dev-server に HEAD リクエスト送るとうまくいかない

Posted at

タイトルのとおりです。

    "wait-on": "^2.1.0",
    "webpack": "^4.2.0",
    "webpack-cli": "^2.0.13",
    "webpack-dev-server": "^3.1.1"

TL;DR

HEAD の代わりに GET を使いましょう。


やりたかった事としては、テスト実行時に webpack-dev-server でサーバーを立ち上げて、ready になったら後続の処理を行うというもの。
npm に wait-on というモジュールがあり、これを使ってサーバーが準備完了となるのを待っていた。

waitOn(
      {
        resources: ["http://localhost:9999"]
      },
      err => {
        if (err) return reject(err);
        resolve();
      }
    );

こんな感じ。

ローカルではこれでうまく行っていたが、travis で実行すると wait-on のところでタイムアウトになっていた。
travis に ssh デバッグして curl したりしてもちゃんと返ってきているのでなんだろうと。
wait-on の実装を読むとデフォルトでは HEAD リクエストで完了を待っている模様。
試しに curl で HEAD を送ると見慣れない終了コードが返ってきていて、これで失敗してタイムアウトタイムアウト気づく。
wait-on は http:// だと HEAD リクエストを送るが http-get:// なら GET リクエストを送って待ってくれるみたいなので、これを使って事なきを得た。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0