Ship でデプロイ

#Ship 概要

Ship はユーザーの頭痛の種を大幅に軽減することを目的としたデプロイソリューションです。Ship を使えば、配布、バージョン履歴、すべての重要なメタデータを完全にコントロールでき、すべてを1か所で管理できます。

Ship でデプロイすれば自動で再署名、アーティファクトを生成し、以前のバージョンもすべて保存します。アプリのメタデータ、すべてのマーケティングコピーとスクリーンショットもその場で編集することができ、開発者以外の人が管理できます。

Ship でさまざまなことができます。

- アプリのすべてのビルドバージョンを表示します。
- 説明文、スクリーンショット、そしてアプリのサイズやサポート機種のようなもっとも重要なパラメーターなどを含めてすべてのビルドバージョンを表示および編集します。
- アプリのテスターにパブリックインストールページへのリンクを直接送ります。
- 公開設定をすれば、特定のビルドバージョンを App Store Connect や Google Play Console にデプロイします。
- クロスプラットフォームプロジェクトの場合は Version History ページでプラットフォームを切り替えます。


![ship_benefits (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/567122/de51b1ea-d975-abb0-e4ac-ae682578d8df.jpeg)


#Ship の開始 ⚓
Ship を開くには2つのオプションがあります。

- アプリの Add-ons タブ: このオプションで Ship のホームページに移動します。
- Builds ページ: このオプションでそのビルドの Ship のページに移動します。
- 
初めてログインしたとき、公開できるビルドバージョンがひとつもないかもしれません。でも心配しないでください、それはすばやく解決できます。

- ワークフローの1つに、 Xcode Archive & Export for iOS や Android Build のような、アプリをビルドするステップが必要です。
- 同じワークフローには、アプリをビルドするステップのあとに、Deploy to Bitrise.io ステップの正しいバージョンが必要です。


*Deploy to Bitrise.io ステップはバージョン 1.9.0、iOS アプリ用の Xcode Archive & Export for iOS ステップはバージョン 2.6.0 が必要なことに注意してください。これらより古いバージョンのステップは Ship をサポートしていません。*

一度アプリをビルドすると、つまり APK または IPA ファイルを生成すると、Ship を使いはじめることができます。

#Ship でアプリの設定と公開 ⚓
Ship でアプリを公開するために必要なこと:

- 少なくとも1つの 公開されたワークフロー を持つアプリをビルドします。
- Settings ページで公開設定をします。
- Publish ボタンを押します。

iOS と Android アプリは Settings ページにそれぞれの設定があります。クロスプラットフォームアプリは iOS と Android 両方の設定が必要です。

**Ship にワークフローのアーティファクトを公開 ⚓**
ワークフローのアーティファクトを公開するとは、ワークフローの成果物が Ship で利用できることを意味します。たとえば、APK を生成するワークフローなら Ship を使って APK を公開することができます。デフォルトでは、正しいバージョンの Deploy to Bitrise.io ステップが含まれていれば、すべてのワークフローは公開されます。それが適切であればそのままにします。

ただし、ここにワークフローを追加すると、そのワークフローだけ公開されます。

Ship にワークフローのアーティファクトを公開するには:

1. アプリの Ship ページに移動します。
2. 右上の Settings をクリックします。
3. General タブに移動します。
4. Expose Artifacts From the Selected Workflow to Ship に必要なワークフローを追加します。
![Settings___android-test-test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/567122/0e852f50-70df-db9f-5c43-25af92cdf382.png)
アプリがクロスプラットフォームの場合は、テキストボックスが iOS 用と Android 用に2つあることに注意してください。別々のワークフローの名前をコンマで区切ります（例: build, deploy, release_build_android）。
5. ページの下部へスクロールして Save をクリックします。


###コード署名ファイル ⚓
Settings ページで、さまざまコード署名ファイルを選択できます。これらのファイル（iOS のプロビジョニングプロファイルと証明書、Android のキーストアファイルとサービスアカウント JSON ファイル）は通常の方法でアップロードできます。

- iOS コード署名ファイル
- Android コード署名ファイル
コード署名ファイルはオンラインストアにアプリを公開したり、テストデバイスにインストールするのに要求されます。

###テストデバイスにアプリをインストール ⚓
デバイスにアプリをインストールするには、3つのオプションがあります。

- パブリックインストールページへのリンクをすべてのテスターとほかのステークホルダーに送信します。
- QR コードを送信します。スキャンするとアプリの公開されたインストールページに移動します。
- デバイスから Ship にログインして直接インストールします。

パブリックインストールページへのリンクや QR コードを送信するには:

1. インストール可能なファイルを生成するワークフローを 公開 し、Bitrise でそのワークフローを実行します。
2. アプリの選択されたビルドバージョンの Details ページを開きます。
3. 右側にある Public Install Page link または QR コードを見つけます。
4. 必要なものをコピーしてステークホルダー送信します（たとえばメールで）。

Ship から直接アプリをインストールするには:

1. サポートされたデバイスから Ship にログインします。
特定のデバイスが登録されているかを確認するために Devices タブをクリックします。Bitrise の テストデバイスの登録 を読んでください。
2. アプリ名の下にある Install ボタンをクリックします。

##ステータスとログの公開 ⚓
Ship で Publish をクリックすると、構成された設定にしたがってプロセスが開始されます。Details ページの上部で公開されたプロセスのステータスを確認できます。

公開プロセスのログを見るには、Activity タブへ移動します。公開に失敗したあとのエラーに対処するために Download Build Log をクリックしてそこからログをダウンロードできます。
![downloadbuildlog.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/567122/350b0223-22a1-7b36-0336-3cee60223a8b.jpeg)

アプリの詳細 ⚓
Details ページの目的はアプリのもっとも重要な情報を更新することです。たとえば、選択したオンラインストアにその情報を表示したい場合に使います。

詳細は次のとおりです。

- アプリの説明文
- さまざまなサポートデバイスによって並べられたアプリのスクリーショットとフィーチャーグラフィック
- バーション番号やサイズ、バージョンコード、SDK バージョンなどのようなメタデータ。正確なパラメーターはアプリの種類によって異なります。これは Deploy to Bitrise.io ステップによって自動的にエクスポートされます。

###スクリーンショットまたはフィーチャーグラフィックの追加 ⚓
公開するアプリのスクリーンショットを追加できます。アプリのひとつのビルドバージョンにスクリーンショットやグラフィックを追加すると、自動でその後のすべてのバージョンに追加されます。もし異なるスクリーンショットを表示したい場合は変更できます。そうでなければそのままにできます。

アプリの詳細ページにスクリーンショットやフィーチャーグラフィックを追加するには:
1. 選択したビルドバージョンの Details ページを開きます。
2. アップロードしたい内容に応じて Screenshots または Feature Graphic に移動します。
<img width="256" alt="ship-screenshots-1.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/567122/21f91b16-2a95-543a-8520-9cfaedfdd2eb.jpeg">
3. ファイルをドラッグ & ドロップするか、Browse files をクリックしてアップロードしたいファイルを選びます。
4. 完了したら、右上の Save をクリックします。

###アプリ説明文の更新 ⚓
アプリの説明文、またはほかのすべてのテキストの詳細を同様に更新できます。利用可能なテキストフィールドのタイプはアプリのタイプによって異なります。

1. 選択したビルドバージョンの Ship の Details ページを開きます。
2. 編集したいフィールドへ移動してクリックします。
3. コンテンツを編集します。
4. Detall タブの右上にある Save をクリックします。

###通知 ⚓
Ship は3つの別々のイベントについてメールを送信することができます。

- Ship で新しいバージョンのアプリが利用可能である。
- Ship がアプリを公開した。
- Ship がアプリの公開に失敗した。
これらの通知は任意の別々のメールアドレスに送信することができます。新しいメールアドレスが通知リストに追加されたとき、Ship はそのメールアドレスに確認メールを送信します。確認後、通知が機能します。

###新しいメールアドレスの追加 ⚓
新しいメールアドレスをアプリの通知リストに追加するには:
1. アプリの Ship ページを開きます。
2. Settings をクリックします。
3. Notifications タブに移動します。
4. Email notifications の下の入力欄にメールアドレスを入力します。
<img width="256" alt="ship-notifications.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/567122/19194d18-cc92-0001-0887-2cd8f761a07b.jpeg">
5. Add をクリックします。

メールアドレスが下のリストに表示され、ステータスが Pending になります。メールがそのアドレスに送信されます。受信者が通知を受け取りはじめるにはメールの Confirm Notifications をクリックする必要があります。

###通知の構成 ⚓
さまざまな人に知らせる Ship のイベントを選択できます。たとえば、うまくいったときに通知されたくなければ、公開イベントが失敗した通知だけを送ることができます。そしてもちろん別々のメールアドレスに異なる通知を送ることができます。

通知を構成するには:
1. アプリの Ship ページを開きます。
2. Settings をクリックします。
3. Notifications タブへ移動します。
4. さまざまなイベントタイプの下にあるトグルを使います。
5. すべての通知を設定したら Save を押します。