Unityのiosとandroidのbuildをjenkinsで行う/iOS Build

以下の記事の「iOS Build」

目次

  • (sampleプロジェクトで設定済み)アプリを公開する設定
  • jenkinsでボタンひとつでipaファイルを作成する

(sampleプロジェクトで設定済み)アプリを公開する設定

以下のサイトが詳しく説明しているので省略する
iOS App開発:.p12ファイルとProvisioning Profileの作成 - マックブックな日々(Macbook Geek)

jenkinsでボタンひとつでipaファイルを作成する

「新規ジョブ作成」をクリック
f:id:yasuaki-ohama:20160606211344p:plain:w100
「Sample_iOS」という名前を付ける
「フリースタイル・プロジェクトのビルド」をチェックする
OKボタンを押す。
f:id:yasuaki-ohama:20160607052442p:plain

ソースコード管理」のgitにチェックをつけ、以下をコピペする

git@github.com:yasuakiohama/UnityJenkinsSample.git

f:id:yasuaki-ohama:20160606211550p:plain
「ビルド」でUnity3d Editorを選択する
f:id:yasuaki-ohama:20160606211845p:plain:w200
以下のコマンドをコピペする

-quit -batchmode -executeMethod MyBuilder.BuildProjectAllSceneiOS

f:id:yasuaki-ohama:20160607052725p:plain

iOSProvisioningProfile.mobileprovisionとiPhoneDeveloperA.p12をプロジェクトに入れる
iOSProvisioningProfile.mobileprovisionはストアからダウンロード
iPhoneDeveloperA.p12はキーチェインから書き出す
f:id:yasuaki-ohama:20160607053436p:plain:w300

cd /Users/Ohamayasuaki/.jenkins/jobs/Sample_iOS/workspace
mkdir key 
以下のように設定
/Users/Ohamayasuaki/.jenkins/jobs/Sample_iOS/workspace/key/iOSProvisioningProfile.mobileprovision
/Users/Ohamayasuaki/.jenkins/jobs/Sample_iOS/workspace/key/iPhoneDeveloperA.p12

以下のサイトを参考にPackageApplicationファイルを変更する。
Packaging iOS apps from the command line - cutting.io
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication

- my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",
-   "--sign", $opt{sign},
-   "--resource-rules=$destApp/ResourceRules.plist");
+ my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",
+   "--sign", $opt{sign});

「ビルド」で「シェルの実行」を選択
f:id:yasuaki-ohama:20160606212050p:plain:w200
以下をコピペする。
gist.github.com

以下の3つを修正

# Mac OSX管理パスワード
OSX_ADMIN_PASSWORD=LoginPasswd

# 証明書ファイルパスワード
IOS_P12_PASSWORD=P12Passwd

# コード署名用 IDENTITY
IDENTITY="iPhone Developer: yasuaki ohama (?????????)"

OKボタン押して完了
「Buildの実行」を押す
以下にipaファイルが生成される

/Users/Ohamayasuaki/.jenkins/jobs/Sample_iOS/workspace/Build/Sample_iOS-2.ipa

注意

MyBuilder.csのUntitledの部分がそのまま

private const string BUNDLE_IDENTIFIER = "com.Company.Untitled";

app作成のファイル名になるので、bundle identifierを変更した場合はjenkinsのシェルも変更すること

TARGET_APP_PATH=$XCODE_PROJECT_PATH/build/Release-iphoneos/Untitled.app