jenkins を使用してアプリの配布を自動化する

Post on 27-Jun-2015

577 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Technology

TRANSCRIPT

Jenkins を使用して アプリの配布を自動化する

2014.09.18 @ngyoi

XcodeプロジェクトをビルドTestFlightにアップロードとSlackに通知

本日の流れ

• Jenkins とは?

• Jenkins でビルドから配布・通知までの設定

• 最後に

Jenkins とは?

Jenkins とは?

• 継続的インテグレーションツール

• ざっくりいうと、ビルドやテストを継続的に実行するためのツール

Jenkins でビルドから配布・通知までの設定

設定を始める前に

• Jenkins 氏を怒らせると大概よくないことが起こります

• 右のようなJenkins の怒った画像が表示されるとページにアクセス出来なくなる可能性があります

ダッシュボード画面

Jenkinsのジョブを作成

Jenkinsのジョブを作成

• ジョブ名の欄にジョブ名を入力する

• [フリースタイル・プロジェクトのビルド] を選択

• [OK] をクリック

プロジェクト名と説明

プロジェクト名と説明

• プロジェクト名と説明を入力

• [古いビルドの破棄] 古いビルドを破棄したい場合はチェックする(今回はチェックを入れない)

Slack Notifications

Slack Notifications• Slack に通知するチャンネルとタイミングを設定します

• [Project Channel] 通知するチャンネル名を指定

• [Notify ~] 通知したいタイミングにチェックを入れます

• [ビルド~] 使用したことがないのでどのような機能か分かりません

ソースコード管理

ソースコード管理• 今回は Git を使用するので Git にチェックしてください

• [Repositories] の [Repository URL] にリポジトリのURLをしてします

• 注意点として Bitbucket の クローンURL を見ると修正前のURLになっていますが、Jenkinsでは修正後のURLで入力してください

• 修正前 : https://username@bitbucket.org/username/repo.git

• 修正後 : https://bitbucket.org/username/repo.git

ビルド・トリガ

ビルド・トリガ• ジョブの実行タイミングの設定します

• 今回は [SCMをポーリング] を使用します

• リポジトリをポーリングし、更新されたタイミングで自動的にビルドを行います

• 今回は、5分おきに更新がないかチェックします

Xcode General build settings

Xcode General build settings• Xcode のビルドの設定を行います

• [Target] には、ターゲット名を入力します

• [Clean before build?] ビルドの実行前にbuildディレクトリを削除するのでチェックを入れます

• [Configuration] 対象とするConfigrationを設定します(デフォルトで Release になっているのでそのまま設定します)

• [Pack application and build .ipa?] .ipaファイルを作成するのでチェックを入れます

• [.ipa filename pattern] .ipaファイルの名前のパターンを入力します

Xcode Code signing & OS X keychain options

Xcode Code signing & OS X keychain options

• ビルドに使う認証情報とKeychainの設定を行います

• [Embedded Profile] Provisioning Profileのファイル名を設定します(別途連絡)

• [Unlock Keychain?] Keychainのロックを解除するのでチェックを入れます

• [Keychain path] .keychainファイルの場所を指定します ${HOME}/Library/Keychains/login.keychain

Xcode Advanced Xcode build options

Xcode Advanced Xcode build options

• xcodebuildコマンドに関する設定を行います

• [Clean test reports?] テストの結果の出力ファイルをクリーンするのでチェックを入れます(今回はテストしないので関係ないですが…)

• [Xcode Project File] .xcodeprojのファイル名を入力します※ファイル名と拡張子を入力します

ビルド後の処理

ビルド後の処理• [ビルド後の処理の追加] から [Upload to Testflight] を選択します

• [ビルド後の処理の追加] から [Slack Notifications] を選択します

• デフォルトのままで特に設定の必要はありません

ビルドの実行

ビルドの実行

• 赤枠の [ビルド実行] を押すとビルドが開始されます

• 成功すると青色になり、何らかの理由で失敗すると赤色になります

参考サイト• 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

最後にプラグインとか使えば

色々出来ます

コード・カバレッジ

appledocによるDocument生成

ご清聴ありがとうございました

top related