Jenkins + SVN实现iOS项目持续集成(Continuous Integrati

日期:2019-10-21编辑作者:www.6165.com
** EXPORT FAILED **

Jenkins + SVN实现iOS项目持续集成(Continuous Integration)。最后错误提示,EXPORT FAILED,推断导出ipa包时出的错。根据最后提示
Add a profile to the "provisioningProfiles" dictionary in your Export Options property list
google一下,发现Xcode 9.0Jenkins + SVN实现iOS项目持续集成(Continuous Integration)。不允许访问钥匙串里的内容。

解决方案: 在构建中添加Execute Shell替代Xcode Builder

选择Execute Shell

使用脚本替代插件(插件本质是通过我们的配置生成打包脚本并执行)。

脚本内容

  • 脚本内容
xcodebuild -archivePath "/Users/你的用户/.jenkins/workspace/你的Jenkin构建项目名/output/debug/name.xcarchive" -workspace name.xcworkspace -sdk iphoneos -scheme "schemename" -configuration "Release" archive
xcodebuild -exportArchive -archivePath "/Users/你的用户/.jenkins/workspace/你的Jenkin构建项目名/output/debug/name.xcarchive" -exportPath "/Users/你的用户/.jenkins/workspace/你的Jenkin构建项目名/ipa/" -exportOptionsPlist '/Users/chaos/.jenkins/workspace/你的Jenkin构建项目名/ipa/ExportOptions.plist' -allowProvisioningUpdates

按照你的实际项目情况替换脚本中的内容
name.xcarchive =>TargetName.xcarchive
name.xcworkspace => iOS 项目 workspace 名字
schemenameJenkins + SVN实现iOS项目持续集成(Continuous Integration)。 => scheme manage中的名字

其中ExportOptions.plist ,直接使用Xcode导出iPA同文件夹中的同名文件就行。

ExportOptions.plist文件位置

ExportOptions.plist文件请放在Jinkens的workspace,构建项目文件夹下。
脚本中ExportOptions.plist路径可以自定义。

ExprotOptions.plist位置

Jenkins作为一种持续集成的方案,由于其丰富的插件和较高的可控性,备受大家喜爱。

安装Jenkins

  • 首先到官方网站下载Jenkins安装包,由于它是Java项目所以依赖JDK

下载JDK

Jenkins + SVN实现iOS项目持续集成(Continuous Integration)。下载JDK

下载Jenkins

下载Jenkins

  • 找到下载的jenkins.pkg安装包,安装时注意在选择 安装类型 阶段选择自定义安装。

    Jenkins自定义安装

  • 取消 Start at boot as "jenkins"

    取消勾选

  • 安装完成后在Terminal中输入
    $ open /Applications/Jenkins/jenkins.war

    $ java -jar /Applications/Jenkins/jenkins.war
    启动Jenkins

随着项目的不断推进,参与的人员越来越多,内容越来越复杂,构建项目本身可能就变成了复杂又耗时的工作。持续集成(Continuous Integration,简称CI),作为一种团队开发实践方法,很好的解决这些问题。它可以让开发团队专注于业务需求,让测试团队更快的构建项目检测问题,加快项目进度。

配置Jenkins

  1. 打开http://localhost:8080会出现重设初始密码的界面。根据界面中的路径提示去相应文件中取出密码。
  2. 创建一个用户
  3. 安装插件Xcode integration和Keychains and Provisioning Profiles Management
    打开Jenkins->系统管理->插件管理->可选插件,安装这两个插件。

    安装插件

4.配置Keychains and Provisioning Profiles Management

Jenkins->系统管理->Keychains and Provisioning Profiles Management。

配置证书相关

  • Upload Keychain or Provisioning Profile File这里上传的是 /Users/你的用户/Library/Keychains/login.keychain 这个文件,如果你的系统中有login.keychain-db这个文件,请把它拷贝出来,重命名成login.keychain再上传。

  • Code Signing Identity这里填写 证书名称

  • Provision Profiles Directory Path这里填写与证书相对应的描述文件的路径,这个路径可以是自定义路径。

  1. 配置Xcode integration

Jenkins->系统管理->系统设置->Xcode Builder

Xcode Builder设置

  1. 新建项目
  • Jenkins->新建

新建工程

  • 选择->构建一个自由风格的软件项目
创建自由风格项目
  • 填写项目信息
填写项目信息
  • 填写SVN配置
    Repository URL 填写SVN项目路径。
    Credentials填写SVN用户。

填写SVN配置

  • 增加SVN用户信息
增加SVN用户信息
  • 填写构建信息
    这里需要注意一点,如果第一次点开Keychain and Code Signing Identites后发现,Code Sign Identity 如果不能选择,那先点击保存,再打开项目来继续设置。

    填写构建信息

  • 填写Mobile Provisioning Profiles

    填写Mobile Provisioning Profiles

  • 增加 构建
    注意:这里如果Xcode的版本低于9.0,就可以正常输出ipa包。如果Xcode版本不低于9.0,就会由于Xcode 9.0不在允许你访问钥匙串里的内容(具体原因看这里),而输出ipa失败。具体的解决方法请参照后面"遇到的问题"中具体的解决方法。

如果你的Xcode版本低于9.0那么请继续向下看

本文由新金沙国际手机版发布于www.6165.com,转载请注明出处:Jenkins + SVN实现iOS项目持续集成(Continuous Integrati

关键词:

抓包工具介绍

抓包工具介绍。【github】 抓包工具介绍 抓包工具介绍 whistle 启动whistle  重启whsitle  停止whistle  调试模式启动whist...

详细>>

喜马拉雅&简书合作专栏建立啦

喜马拉雅简书合作专栏建立啦。http://www.jianshu.com/collection/8580ddae81ba 喜马拉雅&简书合作专栏建立啦。主播贫乏录像的...

详细>>

Microsoft ASP.NET Futures (July 2007)中History在客户端的

Microsoft ASP.NET Futures (July 二零零七)中有七个新的控件“History”能够在Ajax中动用浏览器上的发展、后退按键,但我们的...

详细>>

SQL开发利器SQL Prompt 5.1完全破解+使用教程

纵然微软至SQL二〇一〇之上的本子提供了SQL智能提醒,可是它的反馈实在是过度愚钝,等唤醒出来大家曾经能够敲出...

详细>>