MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

Windows OS上で自動ビルド&テストを実行できるクラウドCIサービスAppVeyor入門

目次

はじめに

近年、プログラミングをする上で、

テストを書き、そのテストを継続的に実行する

継続的インテグレーション(CI)を利用することは当たり前になってきました。

 

CIを実現する上で、

オンプレミスでは、Jenkins

myenigma.hatenablog.com

クラウドで、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も追加しました。

github.com

 

今回は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の例:

github.com

 

使い方の勉強方法としては、

まだ、あまり日本語での資料が無いので、基本的には、

AppVeyorのドキュメントを読むのが一番なようです。

www.appveyor.com

 

AppVeyorもTravisのように、CIの結果をバッジとして、

GitHubのREADME.mdなどに表示することができます。

f:id:meison_amsl:20181103102146p:plain

 

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の設定をしたいときは

下記のリポジトリが参考になります。

github.com

github.com

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com