環境
- VSTS (Visual Studio Team Services) CIサービス (無料プラン)
- Agent: Hosted macOS Preview
- Node.js: v6.14.1
- cordova: v7.1.0
- cordova-ios: 4.5.4
エラー内容
VSTS-CIのCordova-iOSビルド後のArtifactで [error]Could not find file '****/platforms/ios/build/device/****.app'.
エラーが発生する。
エラーログの内容
2018-04-07T06:36:32.1413500Z ##[section]Starting: Publish Artifact: ios
2018-04-07T06:36:32.1473750Z ==============================================================================
2018-04-07T06:36:32.1487260Z Task : Publish Build Artifacts
2018-04-07T06:36:32.1500710Z Description : Publish build artifacts to Visual Studio Team Services/TFS or a file share
2018-04-07T06:36:32.1514780Z Version : 1.131.0
2018-04-07T06:36:32.1528900Z Author : Microsoft Corporation
2018-04-07T06:36:32.1542730Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkID=708390)
2018-04-07T06:36:32.1557020Z ==============================================================================
2018-04-07T06:36:32.6651510Z ##[section]Async Command Start: Upload Artifact
2018-04-07T06:36:32.6665160Z Uploading 8 files
2018-04-07T06:36:34.5469250Z ##[section]Async Command End: Upload Artifact
2018-04-07T06:36:34.6223280Z ##[error]Could not find file '/Users/vsts/agent/2.131.0/work/1/s/platforms/ios/build/device/my-ionic1.app'.
2018-04-07T06:36:34.6320880Z ##[section]Finishing: Publish Artifact: ios
原因
原因不明。
ログからは「my-ionic1.app
が見つからないよ」エラーとなっているが、どこかでmy-ionic1.app
をどうのこうの設定した覚えは無い。
単純にplatforms/ios/build/device
を出力するように指定しているだけなのに・・・('ω')
対応
cordova-iosのビルドで出力される場所がplatforms/ios/build/device
と思っていたが、設定を見直すとbin
ディレクトリとなっていた。どうやらVSTS-CIでのcordova-iosビルド後の出力先は、以下のキャプチャのように初期状態でbin
ディレクトリのようだ。
よって、以下のキャプチャの様にPublish Artifact
の参照先をbin
ディレクトリに変更。
そしてArtifacts
からipaファイル
(iOSアプリの実行ファイル)を取得することに成功。