AppVeyorを使ってEC-CUBEをWindowsサーバーでもCIする

AppVeyorを使ってEC-CUBEをWindowsサーバーでもCIする

Vim プラグインを Windows 環境でテストする – 永遠に未完成をみて、WindowsのCI環境なんてあるんだーと思ったのが間違いだった・・・

EC-CUBEは、Windowsサーバーもシステム要件に入っているのでCI出来るようにしてみました。

と言うわけで CI サービスは AppVeyor を使います
Continuous Integration and Deployment service for Windows developers – Appveyor

Githubのアカウントで Sign In すれば、だいたいわかると思うんですが、問題はBuildとTestがLinux系じゃないのでさっぱりわからんことです。。。

Referenceもあるんだけどお手上げ \(^o^)/
appveyor.yml Reference – Appveyor

で、まぁGoogleさんにあれこれお伺いしていったところ参考になりそうなappveyor.ymlを幾つか発見、これがなかったら確実に無理でした

PHPのインストールの参考
phinx/appveyor.yml at 0.3.x-dev · robmorgan/phinx
php.iniにechoしなきゃいけないとか、特にphp_openssl.dllがないとダメとか。。

MinGWのインストール
net-gd-appveyor/appveyor.yml at master · imazen-discovery/net-gd-appveyor
・・・これしないとbashが使えない

で、完成したappveyor.ymlはこんなんです。

ポイント①
my.cnfを事前に作って、c:\に置いておくこと
これで、このmy.cnfの設定が生きるので、latin1に悩まされなくなります

ポイント②
mingw-getをインストールすること
これでシェルコマンドが有効になります
結果、environmentに設定した変数もシェルスクリプトから読めるようになりました

ポイント③
php.iniに必要な物はすべて追記すること
.user.iniを置くのも試してみましたが効かなかったです

ポイント④
buildするたびに、MySQL、MinGW、PHP、composer、PHPUnitをインストールするので超ーーーー時間がかかります(;´Д`)
タイミングなのかなんなのか、平気で30分以上かかります……..

その結果・・・・
キャプチャ貼ろうとしたら画像がでか過ぎて貼れなかったのでリンク先参照してください
EC-CUBE – AppVeyor
Windows固有のバグ2件発見\(^o^)/
このバグを探してたわけじゃないけど、まぁやらないよりやってよかった( ´Д`)=3

とまぁ、Azure借りてテストしたほうがはえーんじゃね?という気もしますがPHPのアプリをWindowsサーバーでも強引にCIする方法でした〜

おわり


コメントを残す