Edited at

appveyorで不安定なコマンドをretry

More than 1 year has passed since last update.


TL;DR

appveyor-retryをつかう。

$ appveyor-retry call your-command

Generic wrapper for retry


なぜ

npm installなど、ネットワーク由来でコケやすい。travis-ciだとtravis_retryコマンドがある。Common Build Problems - Travis CI


具体的には

cmdとpowershellでちょっと違うが、つまりこうする。

environment:

matrix:
- nodejs_version: 8
- nodejs_version: 9

# install
install:
- cmd: appveyor-retry powershell Install-Product node $env:nodejs_version
- node --version
- npm --version
- appveyor-retry call npm install

こんなかんじ。callなしのappveyor-retry npm installでいいのだけど、call付きだとpowershellの場合に混乱しなくていい。

- ps: Install-Product node $env:nodejs_version

powershellはもともとこうしていたらこうする。

- cmd: appveyor-retry powershell Install-Product node $env:nodejs_version

少しだけ不安定さが減る。