この記事はWindows環境から無料のVSTS-CIを使ってCordova-iOSアプリとCordova-Androidアプリをビルドできて凄い!と思ったらガッカリした話です。
「1人で「Webアプリ+ iOS & Android モバイルアプリ+サーバー処理」を実装するための知見」に記載したVSTS-CIについての補足記事になります。
VSTS-CIの凄い所と、ガッカリな所
1.1 凄い!と思った内容
- Cordova-iOSをクラウドでビルドできる数少ない環境です
- CI機能だけではなく、「gitリポジトリ」と「Issuesのカンバン機能」と「Wiki機能」などをPrivateかつ無料で利用できます
1.2 ガッカリだった内容
すべて私の下調べ不足が招いたものですが、期待してしまったぶんガッカリしてしまいました('◇')
- 価格ページにはビルド時間について記載が無く、CIのホスト数による料金体系しか書かれていない
- 当初は「無料でビルド時間無制限!?本当か?Microsoft太っ腹~」と思っていたら、突如時間制限によるビルドエラーが表示された。流石にそっすよねー
- そのエラーの内容で初めて240分/月の制限があることを知った
VSTS-CIとは?
MicrosoftのVSTS(Visual Studio Team Services)に付属するクラウド型のCIサービスです。
CIと名にある通り、「ビルドや自動テストをクラウドで自動的にやってしまおう」といたサービスになります。
競合はクラウドだとCircleCI
, TravisCI
, shippable
, AppCenter
などがあり、オンプレミスだとJenkins
やGitLab-CI
などがあります。
VSTS-CIで何ができる?
(1) ビルドのAgent環境には以下のものが選択できます
- Windows
- Linux(Preview)
- macOS(Preview)
(2) ソースコードの取得は以下のものに対応しています
- VSTS Git
- GitHub
- GitHub Enterprise
- Subversion
- Bitbucket Cloud
- External Git
(3) ビルド環境には以下のものが対応しています
- .NET Core
- Ant
- CMake
- Cordova
- Docker
- Go
- Gradle
- Grunt
- Gulp
- Ionic
- MSBuild
- PhoneGap
- Visual Studio Build
- Xamarin.Android
- Xamarin.iOS
- Xcode
など・・・
他にも色々できそうです。
具体的な使用用途
私は以下の使い方を試しました。
リポジトリのmaster
ブランチがプッシュされたことをトリガーに以下の動作が自動的に行われます。
- macOS環境をロード
-
VSTS-gitリポジトリ
からプライベートソースコードを取得 -
Node.js 6.x系
をセット -
npm install -g ionic
でionicをグローバルインストール -
npm insatll
でパッケージを取得 - ionicでHTML,TypeScript,SCSS等のソースコードをバンドルして
wwwディレクトリ
に出力 -
wwwディレクトリ
からcordova-android
を使ってAndroidアプリ(apkファイル)を生成 -
wwwディレクトリ
からcordova-ios
を使ってiOSアプリ(ipaファイル)を生成 - ビルドした
Androidアプリ(apkファイル)
とiOSアプリ(ipaファイル)
のダウンロード
料金
結局料金については公式ページを見ても良く分かりませんでした。とりあえずビルド時間が240分超えたら有料です。
料金について書かれたページを2つ見つけたのでURLを記載しておきます。
「VSTS CI」で検索して見つけたページ
「VSTS CI 240」で検索して見つけたページ
最後に
現在は VSTS-CI は使用せずに自前のMac環境でビルドするように構築しました。
ビルド環境の詳細は「1人で「Webアプリ+ iOS & Android モバイルアプリ+サーバー処理」を実装するための知見」を参照していただければ思います。
VSTS-CIは日本語による情報が少なく、使用前調査の段階から「調べてもよくわからないから、とりあえず使ってみよう」といったスタンスだったので、こういったミスは致命的ではないので仕方のないリスクとして受け入れることにしました(*'ω'*)