目次
はじめに
近年、プログラミングをする上で、
テストを書き、そのテストを継続的に実行する
継続的インテグレーション(CI)を利用することは当たり前になってきました。
CIを実現する上で、
オンプレミスでは、Jenkins
クラウドで、OSがLinux, Mac OSの場合は、Travis-CIや
Travis CI - Test and Deploy Your Code with Confidence
Circle-CIがあります。
Continuous Integration and Delivery - CircleCI
今回は、クラウド上でWindows OS上のCIサービスである
AppVeyorを紹介したいと思います。
最近、自分のOSSプロジェクトでも
Travis-ciに加えて、AppVeyorでのCIも追加しました。
今回はAppVeyorの概要と、自分がハマったところを紹介しておきます。
クラウドのWindows OS上のCIサービス: AppVeyor
AppVeyorはTravisのように、クラウドのWindows OS上のCIサービスです。
基本的には、.NetのプロジェクトのCI環境として使われています。
Travisと同様に、OSSは無料で使えるため、
OSSのCI環境としては、非常に便利です。
Travisでは、CIの設定を.travis.ymlに書きますが、
AppVeyorでは、appveyor.ymlにCIの設定を書きます。
appveyor.ymlの例:
使い方の勉強方法としては、
まだ、あまり日本語での資料が無いので、基本的には、
AppVeyorのドキュメントを読むのが一番なようです。
AppVeyorもTravisのように、CIの結果をバッジとして、
GitHubのREADME.mdなどに表示することができます。
AppVeyorの設定でハマったところ
1. "The build phase is set to "MSBuild" mode (default), but no Visual Studio project or solution files were found"というエラー
これは、appveyor.ymlにて、build:offというコマンドを入れないと、
勝手にVisual Studioのコンパイルが始まってしまうのが原因です。
こちらのようにbuild:offを設定しましょう。
2. WarningでCIが失敗してしまう。
Travis-ciですと、DeprivatedWarningなどのWarningがテスト中に出ても、
CIそのものは成功していましたが、
AppVeyorでは失敗と判定されてしまいます。
この対策として、自分はPythonのテストでは、-Wignoreをつけて、
Warningそのものを表示しないようにしています。
3. JuliaでCIの設定をしたいときは
下記のリポジトリが参考になります。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。