Jenkins を使用してアプリの配布を自動化する
-
Upload
ngyoi -
Category
Technology
-
view
577 -
download
4
description
Transcript of Jenkins を使用してアプリの配布を自動化する
![Page 1: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/1.jpg)
Jenkins を使用して アプリの配布を自動化する
2014.09.18 @ngyoi
XcodeプロジェクトをビルドTestFlightにアップロードとSlackに通知
![Page 2: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/2.jpg)
本日の流れ
• Jenkins とは?
• Jenkins でビルドから配布・通知までの設定
• 最後に
![Page 3: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/3.jpg)
Jenkins とは?
![Page 4: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/4.jpg)
Jenkins とは?
• 継続的インテグレーションツール
• ざっくりいうと、ビルドやテストを継続的に実行するためのツール
![Page 5: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/5.jpg)
Jenkins でビルドから配布・通知までの設定
![Page 6: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/6.jpg)
設定を始める前に
• Jenkins 氏を怒らせると大概よくないことが起こります
• 右のようなJenkins の怒った画像が表示されるとページにアクセス出来なくなる可能性があります
![Page 7: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/7.jpg)
ダッシュボード画面
![Page 8: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/8.jpg)
Jenkinsのジョブを作成
![Page 9: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/9.jpg)
Jenkinsのジョブを作成
• ジョブ名の欄にジョブ名を入力する
• [フリースタイル・プロジェクトのビルド] を選択
• [OK] をクリック
![Page 10: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/10.jpg)
プロジェクト名と説明
![Page 11: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/11.jpg)
プロジェクト名と説明
• プロジェクト名と説明を入力
• [古いビルドの破棄] 古いビルドを破棄したい場合はチェックする(今回はチェックを入れない)
![Page 12: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/12.jpg)
Slack Notifications
![Page 13: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/13.jpg)
Slack Notifications• Slack に通知するチャンネルとタイミングを設定します
• [Project Channel] 通知するチャンネル名を指定
• [Notify ~] 通知したいタイミングにチェックを入れます
• [ビルド~] 使用したことがないのでどのような機能か分かりません
![Page 14: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/14.jpg)
ソースコード管理
![Page 15: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/15.jpg)
ソースコード管理• 今回は Git を使用するので Git にチェックしてください
• [Repositories] の [Repository URL] にリポジトリのURLをしてします
• 注意点として Bitbucket の クローンURL を見ると修正前のURLになっていますが、Jenkinsでは修正後のURLで入力してください
• 修正前 : https://[email protected]/username/repo.git
• 修正後 : https://bitbucket.org/username/repo.git
![Page 16: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/16.jpg)
ビルド・トリガ
![Page 17: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/17.jpg)
ビルド・トリガ• ジョブの実行タイミングの設定します
• 今回は [SCMをポーリング] を使用します
• リポジトリをポーリングし、更新されたタイミングで自動的にビルドを行います
• 今回は、5分おきに更新がないかチェックします
![Page 18: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/18.jpg)
Xcode General build settings
![Page 19: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/19.jpg)
Xcode General build settings• Xcode のビルドの設定を行います
• [Target] には、ターゲット名を入力します
• [Clean before build?] ビルドの実行前にbuildディレクトリを削除するのでチェックを入れます
• [Configuration] 対象とするConfigrationを設定します(デフォルトで Release になっているのでそのまま設定します)
• [Pack application and build .ipa?] .ipaファイルを作成するのでチェックを入れます
• [.ipa filename pattern] .ipaファイルの名前のパターンを入力します
![Page 20: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/20.jpg)
Xcode Code signing & OS X keychain options
![Page 21: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/21.jpg)
Xcode Code signing & OS X keychain options
• ビルドに使う認証情報とKeychainの設定を行います
• [Embedded Profile] Provisioning Profileのファイル名を設定します(別途連絡)
• [Unlock Keychain?] Keychainのロックを解除するのでチェックを入れます
• [Keychain path] .keychainファイルの場所を指定します ${HOME}/Library/Keychains/login.keychain
![Page 22: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/22.jpg)
Xcode Advanced Xcode build options
![Page 23: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/23.jpg)
Xcode Advanced Xcode build options
• xcodebuildコマンドに関する設定を行います
• [Clean test reports?] テストの結果の出力ファイルをクリーンするのでチェックを入れます(今回はテストしないので関係ないですが…)
• [Xcode Project File] .xcodeprojのファイル名を入力します※ファイル名と拡張子を入力します
![Page 24: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/24.jpg)
ビルド後の処理
![Page 25: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/25.jpg)
ビルド後の処理• [ビルド後の処理の追加] から [Upload to Testflight] を選択します
• [ビルド後の処理の追加] から [Slack Notifications] を選択します
• デフォルトのままで特に設定の必要はありません
![Page 26: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/26.jpg)
ビルドの実行
![Page 27: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/27.jpg)
ビルドの実行
• 赤枠の [ビルド実行] を押すとビルドが開始されます
• 成功すると青色になり、何らかの理由で失敗すると赤色になります
![Page 28: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/28.jpg)
参考サイト• Jenkinsでビルド・テスト・カバレッジ出力・コード静的解析を自動化するhttp://www.atmarkit.co.jp/ait/articles/1405/23/news031.html
• Bitbucket のリポジトリをJenkinsで使用する際に401になる問題http://serverfault.com/questions/558666/failed-to-connect-to-repository-401-on-jenkins-codebase-git
![Page 29: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/29.jpg)
最後にプラグインとか使えば
色々出来ます
![Page 30: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/30.jpg)
コード・カバレッジ
![Page 31: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/31.jpg)
appledocによるDocument生成
![Page 32: Jenkins を使用してアプリの配布を自動化する](https://reader034.fdocument.pub/reader034/viewer/2022052412/558de6441a28abdd428b4763/html5/thumbnails/32.jpg)
ご清聴ありがとうございました