読者です 読者をやめる 読者になる 読者になる

WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

お手軽にJenkinsを使ってCocos2d-xのソースをビルドしてみる(TestFlight編)

Cocos2d-x Jenkins

今回のエンジニアブログ担当の岩原です。
3回前前々回前回に引き続き、今回もJenkinsについて書きたいと思います。
今回で最終回です。

まずは、前回までのおさらいとTestFlightについて。

・Jenkinsとは  
Javaで作られているCIサーバーの1つです。  
オープンソースなので、手軽に利用できます。  
  
・そもそもCIサーバーとは?  
継続的インテグレーション(continuous integration)のためのアプリケーションサーバーのことです。  
ビルドやデプロイ、ユニットテストなどのソフトウェアの開発にかかるいろいろな手順を代わりに自動でやってくれる賢いヤツです。  
  
・TestFlightとは  
開発中のアプリケーションを共有できるサービスです。  
XCodeをインストールしなくてもipaファイルをインストールできるので、  
開発者でなくても開発中のiOSアプリケーションを動かすことができます(Androidにも最近対応)。

構築にあたっての前提は以下のとおりです。

【前提】
・Macであること。(要OS X 10.5以上)
・Xcodeがインストール済みであること。
・XcodeからCocos2d-xのiOSアプリがビルド&実行が出来る状態であること。
・Eclipseなどを使用して、Cocos2d-xのAndroidアプリがビルドできる状態であること。
・ソースがGitで管理されていること(別のSCMを使用している場合は適宜読み替えてください)
・TestFlightが利用できるようになっていること

今回は、太字の箇所について書きたいと思います。
取り消し線の箇所は前回までに取り上げた箇所です。

  1. HomeBrewのインストール
  2. Gitのインストール
  3. Jenkinsのインストール
  4. プラグインのインストール&アップデート
  5. Jenkinsの設定変更(Git)
  6. ジョブの作成(iOS)
  7. ビルドの実行(iOS)
  8. Androidのビルドの準備
  9. Antのインストール(Jenkinsから自動インストール)
  10. ジョブの作成(Android)
  11. ビルドの実行(Android)
  12. TestFlightへのアップロード設定
  13. ジョブの設定変更(iOS、Android)

今回はTestFlightへのアップロードを自動化するまでを行います。

12.TestFlightへのアップロード設定

TestFlightへのアップロードを簡略化するため、TestFlightプラグインを導入します。
プラグインのインストール方法詳細は3回前の記事を参照してください。

導入するプラグインは「Testflight plugin」になります。 20131008_01_plugin

次にTestflightプラグインの設定を行います。
設定はJenkinsの管理画面から行います。

20131008_03_jenkins_settings

管理画面の下ほどにある「Test Flight」セクション内にある「追加」ボタンをクリックします。 20131008_04_setting_detail

「Token Pair Name」、「API Token」、「Team Token」の3項目すべて入力の必要があります。 「Token Pair Name」は識別するための名前なので、好きなように決められますが、 その他2項目はTestFlightにて指定された値を入力する必要があります。 20131008_05_testFlight_setting

ということで、TestFlightのページを開いてみましょう。
ここをクリックすると、TestFlightのページを新しいタブで開きます。

画面右上のプロフィール画像をクリックし、「Account Settings」をクリックします。 20131008_07_testFlight_Account_setting

プロフィール画面の左側にある「Upload API」をクリックします。 20131008_08_testFlight_AccountTop

Upload API画面のUpload API Tokenの枠内にある文字列をコピーします。 20131008_09_testflight_UploadAPI

このTokenはJenkinsの「API Token」に入力する文字列となります。

次に、チーム名をクリックし、「Edit Info」をクリックします。 20131008_10_goToTeam

Team Info画面内のTeam Token枠内にある文字列をコピーします。 20131008_11_teamAPI

このTokenはJenkinsの「Team Token」に入力する文字列となります。 20131008_12_jenkins_testflightSetting

以上、3項目を入力後、最下部にある保存ボタンをクリックします。

13.ジョブの設定変更(iOS、Android)

ジョブの設定を変更し、ビルドされたアプリをTestFlightへ自動アップロードするように設定します。

下部の「ビルド後の処理の追加」ボタンをクリックし、Upload to TestFlightを選択します。

「Token Pair」には、Jenkinsの管理画面で設定した「Token Pair Name」を選択します。 「IPA/APK Files (optional)」には「成果物を保存」にて指定しているものと同じファイルを指定します。 「dSYM File (optional)」は空欄で問題ありません。 20131008_13_testflight_1st_01

「Build Notes」には、TesFlightへアップロードする際に、リリースノートに設定する共通のメッセージを指定します。 20131008_13_testflight_1st_02

「Append changelog to build notes」にチェックを入れると、SCMのコミットログをリリースノートに含めることができます。 20131008_13_testflight_1st_03

「高度な設定」をクリックし、さらに詳細な設定を開きます。 20131008_13_testflight_1st_04

基本的に、「高度な設定」に設定するのはオプション項目となります。 20131008_14_testflight_2nd_01

「Distribution Lists」には、アプリを利用できるDistributionを指定します。 「Distribution Lists」を確認するには、TestFlightからpeople画面を開く必要があります。 20131008_15_testflight_top

表示されているpeople画面の左部にある「Distribution Lists」以下にあるリストが対象です。 20131008_16_people

「Notify Team」にチェックを入れると、TestFlightへアップロード後、チームメンバーにメールを送信するようになります。
その際、メールの差出人は、Upload API Tokenの設定を行った人物となり、
本文にリリースノートの内容が記述されます。
「Replace Build」にチェックを入れると、buildsを置き換えるようになります。
「Debug Upload」にチェックを入れると、コンソールにアップロードログが表示されるようになります。

「保存」ボタンをクリックし、設定を保存します。

設定完了後、ビルドを実行するとTestFlightへのアップロードが行われるようになります。

以上でTestFlightへのアップロードは完了です。
ビルドに成功すれば、TestFlightへ成果物がアップロードされます。