1

我正在尝试为 Worklight 混合应用程序构建 Jenkins。我能够构建应用程序的混合部分,但是当我尝试创建 .ipa 文件时,构建失败。我正在使用 Worklight 文档中的示例 ANT 脚本。构建实际上是成功的,但没有创建 ipa。当脚本执行 xcrun 命令时

 <exec
        dir="${wlappdir}/${mobilePlatform}/native"
        executable="${iosPackageCMD}"
        failonerror="false"
        output="${iosPackageCMDlog}"
        resultproperty="iosPackageCMDResult" >

        <arg value="-sdk" />

        <arg value="iphoneos" />

        <arg value="PackageApplication" />

        <arg value="${wlappdir}/${mobilePlatform}/native/build/Release-iphoneos/${wlApp}.app" />

        <arg value="-o" />

        <arg value="${local.ipaPath}/${wlApp}-${version}.ipa" />

        <arg value="--sign" />

        <arg value="${certificate}" />

        <arg value="--embed" />

        <arg value="${provisioning.profile}" />

        <arg value="-verbose" />
    </exec>

我在日志中收到以下错误:

error: Specified application doesn't exist or isn't a bundle directory : '[my path]/JQMShowcase.app'

当我查看工作区时,该文件肯定在那里。我也很确定所有变量对于脚本都是正确的。

4

1 回答 1

2

我们目前正在使用 Jenkins 1.518 和 XCode 集成插件 1.3.3。来自https://wiki.jenkins-ci.org/display/JENKINS/Xcode+Plugin

我们正在通过 Jenkins 提供的 Web 界面配置和使用它,所以很遗憾我对您的确切问题并不熟悉。


对于 Worklight 构建,我们根据以下内容执行 worklight ANT 任务:

http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/topic/com.ibm.worklight.help.doc/devref/r_ant_tasks_for_building_and_dep.html?resultof=%22%61%6e%74%22%20


对于 iOS 构建,我们有第二个 jenkins 服务器,它由第一个启动,一旦 worklight 构建完成并使用 FTP 将 iOS 本机文件夹复制到正确的位置:

我们必须在 Jenkins 全局配置中配置 Xcode Builder 配置:

xcodebuild executable path  /usr/bin/xcodebuild
agvtool executable path /usr/bin/agvtool
xcrun executable path   /usr/bin/xcrun

在 iOS 项目的特定构建作业中,我们有 2 个构建步骤:执行 Shell 和 XCode:

执行 Shell 构建步骤:xcode 插件构建之前的一些命令(MASTER_BUILD_NUMBER 是一个简单的字符串参数,我们设置/传递以参数化我们的构建):

echo $MASTER_BUILD_NUMBER
rm -rf Build_*
cp -rf /Users/Shared/Jenkins/UPLOAD/$MASTER_BUILD_NUMBER .
cd $MASTER_BUILD_NUMBER/native
chmod u+x buildtime.sh

XCode 构建步骤:对于我们配置的构建的 xcode 插件部分:

  • Xcode 项目目录:${MASTER_BUILD_NUMBER}/native
  • 选中“构建 IPA”复选框
  • 构建输出目录:${HOME}/Home/jobs/XCODE_buildTest1/workspace/${MASTER_BUILD_NUMBER}/native/build/Release-iphoneos
  • 代码签名身份:iPhone 发行:XXX Ltd.
  • 嵌入式配置文件:${HOME}/Library/MobileDevice/Provisioning Profiles/XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX.mobileprovision

(.. XXX 是我们公司的特定数据)

于 2013-08-14T21:54:02.587 回答