QA@IT

JenkinsのiOSの設定に関する内容で質問 その2

3418 PV

お世話になります。
下記ページの内容で質問がありまして、投稿させていただきました

http://www.atmarkit.co.jp/ait/articles/1304/03/news011.html

*以前の質問から長らく放置してました。すみません。
実際にビルドを動かしてみたところ、失敗してしまい

こう出てしまいます

ユーザーanonymousが実行
ビルドします。 ワークスペース: /Users/Shared/Jenkins/Home/jobs/atmarkit-jenkins-ios/workspace
Checkout:workspace / /Users/Shared/Jenkins/Home/jobs/atmarkit-jenkins-ios/workspace - hudson.remoting.LocalChannel@3e1dfb2
Using strategy: Default
Last Built Revision: Revision f1ab60ee2f0f672a5f97b938a313b23ed4c598f0 (origin/master, origin/HEAD)
Fetching changes from 1 remote Git repository
Fetching upstream changes from origin
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Seen 2 remote branches
Commencing build of Revision f1ab60ee2f0f672a5f97b938a313b23ed4c598f0 (origin/master, origin/HEAD)
Checking out Revision f1ab60ee2f0f672a5f97b938a313b23ed4c598f0 (origin/master, origin/HEAD)
Warning : There are multiple branch changesets here
Working directory is /Users/Shared/Jenkins/Home/jobs/atmarkit-jenkins-ios/workspace.
[workspace] $ /usr/bin/xcodebuild -version
Xcode 4.6.2
Build version 4H1003
Fetching marketing version number (CFBundleShortVersionString) from project.
[workspace] $ /usr/bin/agvtool mvers -terse1
Found marketing version (CFBundleShortVersionString): 1.0.
Marketing version (CFBundleShortVersionString) found in project configuration: 1.0.
Fetching technical version number (CFBundleVersion) from project.
[workspace] $ /usr/bin/agvtool vers -terse
No marketing version found (CFBundleVersion)
Technical version (CFBundleVersion) found in project configuration: .
Updating marketing version (CFBundleShortVersionString) to: 18
[workspace] $ /usr/bin/agvtool new-marketing-version 18
Setting CFBundleShortVersionString of project samplejenkins to: 
    18.

Updating CFBundleShortVersionString in Info.plist(s)...

Updated CFBundleShortVersionString in "samplejenkins.xcodeproj/../samplejenkins/samplejenkins-Info.plist" to 18
Updated CFBundleShortVersionString in "samplejenkins.xcodeproj/../samplejenkinsTests/samplejenkinsTests-Info.plist" to 18
Updating technical version (CFBundleVersion) to: 18
[workspace] $ /usr/bin/agvtool new-version -all 18
Setting version of project samplejenkins to: 
    18.

Also setting CFBundleVersion key (assuming it exists)

Updating CFBundleVersion in Info.plist(s)...

Updated CFBundleVersion in "samplejenkins.xcodeproj/../samplejenkins/samplejenkins-Info.plist" to 18
Updated CFBundleVersion in "samplejenkins.xcodeproj/../samplejenkinsTests/samplejenkinsTests-Info.plist" to 18


Marketing version (CFBundleShortVersionString) used by Jenkins to produce the IPA: 18
Technical version (CFBundleVersion) used by Jenkins to produce the IPA: 18
===========================================================
== Available provisioning profiles
[workspace] $ /usr/bin/security find-identity -p codesigning -v
     0 valid identities found
== Available SDKs
[workspace] $ /usr/bin/xcodebuild -showsdks
OS X SDKs:
    Mac OS X 10.7                   -sdk macosx10.7
    OS X 10.8                       -sdk macosx10.8

iOS SDKs:
    iOS 6.1                         -sdk iphoneos6.1

iOS Simulator SDKs:
    Simulator - iOS 5.0             -sdk iphonesimulator5.0
    Simulator - iOS 5.1             -sdk iphonesimulator5.1
    Simulator - iOS 6.0             -sdk iphonesimulator6.0
    Simulator - iOS 6.1             -sdk iphonesimulator6.1

== Available schemes
[workspace] $ /usr/bin/xcodebuild -list
Information about project "samplejenkins":
    Targets:
        samplejenkins
        samplejenkinsTests

    Build Configurations:
        Debug
        Release

    If no build configuration is specified and -scheme is not passed then "Release" is used.

    This project contains no schemes.
===========================================================
Going to invoke xcodebuild:target: ALL, sdk: DEFAULT, project: DEFAULT, configuration: Release, clean: NO, symRoot: DEFAULT, configurationBuildDir: DEFAULT, codeSignIdentity: DEFAULT
[workspace] $ /usr/bin/xcodebuild -alltargets -configuration Release build
=== BUILD NATIVE TARGET samplejenkins OF PROJECT samplejenkins WITH CONFIGURATION Release ===
Check dependencies
Code Sign error: The identity 'iPhone Developer' doesn't match any valid, non-expired certificate/private key pair in your keychains


** BUILD FAILED **


The following build commands failed:
    Check dependencies
(1 failure)
Build step 'Xcode' marked build as failure
成果物を保存中
Finished: FAILURE

コマンドでビルドを叩く文にはうまくいくのでどういうことかなと。。。
ご教授いただけますと幸いです

よろしくお願いいたします。

回答

Code Sign error: The identity 'iPhone Developer' doesn't match any valid, non-expired certificate/private key pair in your keychains

ですので、ビルドに必要な証明書の設定がないからではないでしょうか?
(Apple Developerの証明書です)

何に紐づいているのかは知識不足でわかりませんが、

普段自分がログインしているユーザーに証明書を設定しているのであれば

  • Jenkinsでは匿名ユーザーでビルドしているため証明書が参照できない。

証明書を設定した記憶がないのであれば

  • コマンドでたたいているときはDebugビルドのため証明書が要求されない。
  • Jenkinsは全環境ビルドの設定になっている(ReleaseビルドもDebugビルドも行うようなログに見受けられます)

のいずれかではないかと思います。

編集 履歴 (0)
  • >Jenkinsでは匿名ユーザーでビルドしているため証明書が参照できない。
    なるほどです。これかもしれないですね。
    ちょっと調べてみます。
    ありがとうございます!
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。