jenkins整合Xcode详解

简介:

关于Jenkins整合XCode最开始的配置项就行述说了。这里主要是针对XCode的配置项进行详细的叙述,帮助小伙伴们快速整合XCode进行编译和打包。
整合结果

首先关于xcodeprojxcworkspace

由于我们是多人开发而为了解决xcworkspacexcodeproj多人开发会导致冲突的情况,我们在上传到SVN(或Git)都是不上传这两个后缀名的文件。
所以在我Jenkins的构建项中第一个就是一个Shell脚本,目的是将配置项拷贝到Jenkins的目录下: 
构建项

然后就开始了XCode的配置

1.General Build Setting

General Build Setting

  • Target:就是我们在项目中建立的Target

如果不清楚有哪些Target的情况下可以到xcodeproj或xcworkspace的目录下运行如下命令 xcodebuild -list 即可看到Targets,其中是所有可以用的target。

  • Clean before build?:这个是在编译前是否clean一次,一般是选择YES。
  • Configuration: 对应的是xcodebuild命令里的-configuration的参数,可选项为[Debug、Release],一般都填Debug,这样就可以将打包后的ipa交付给测试人员测试
  • Pack application and build .ipa?:这个是在结束是是否要产生对应的ipa文件,一般都是打上勾的
  • .ipa filename pattern:这个配置项是配置所产生ipa的文件名,其中有一些可用的全局变量
  • 其中${VERSION}和${SVN_REVISION}都是可以直接用的环境变量,如果想看还有哪些环境变量而已用可以点击在Execute shell下方有个 "See the list of available environment variables"进行查看,这里就不进行列出来了。
  • Output directory:这个配置了ipa的输出目录(默认Build output directory所在路径,见下图)

2.Code signing & OS X keychain options(签名的设置)

3QD--JQFSCQKRKN9_O-5ZIF.png
* Codee Signing Identity:所使用的签名

如果不知道具体填什么可以到钥匙串访问中寻找 iPhone Distribution:开头的所使用的证书,然后选中后点击右键选择显示简介,在弹出的窗口中找到常用名称,将其复制填入即可。

或者可以在命令行中输入security find-identity -p codesigning -v来查找iPhone Distribution:开头的签名即可,找到后将双引号中的内容复制。

  • Unlock Keychain?: Jenkins需要访问Keychain,获取响应的key,所以需要授权。选上就自动解锁。需要提供密码。
  • Keychain path: 默认都是${HOME}/Library/Keychains/login.keychain
  • Keychain password: 钥匙串的密码

3. Advanced Xcode build options(xcodebuild命令的配置)

这部分的配置都是xcodebuild里面的参数的配置:
Advanced Xcode build options

  • Clean test report?:这个是如果要用到xcode测试的时候才用到
  • Xcode Scheme File: 关于这个其实对应的就是xcodebuild命令中的-scheme的参数

可以通过xcodebuild -list来查询。是不是觉得这条命令很熟悉,没错前面查找target的时候也是用这个命令!

  • SDK:这里是xcodebuild命令中的-sdk的参数,指定编译和打包的sdk号。如果不懂可以填写哪些可以通过xcodebuild -showsdks来查看。
  • SYMROOT:该变量是编译和打包产生结果的输出目录(.a,.zip,.ipa,.hmap等产生文件的位置),其中该目录其实是包括了CONFIGURATION_BUILD_DIR和OBJROOT这两个目录,默认的路径是所编译的xcodeproj所在目录,如主项目和POD项目整合后,则会在主项目的和POD项目的XCODEPROJ所在目录

如果在指定了OBJROOT的位置后,编译过程中产生的文件不会在该目录体现 如果在指定CONFIGURATION_BUILD_DIR的位置后,该变量则变成无效化


  • Custom xcodebuild arguments:这个就是xcodebuild命令中的指定buildsetting的命令的参数,至于可以指定哪些参数请不要问我,可以找度娘或者谷哥
  • Xcode Workspace File:该配置是指明了xcodebuild中的-workspace的变量,其实就是如果您需要编译打包一个workspace时候的时候指定那个后缀名为xcworkspace的文件,如果指定了该配置,那么Xcode project file配置项将无效
  • Xcode Project Directory:该目录是指明了包含xcodeproj文件的目录(这个我是没用用到如果用了该参数可能最开始第一步的构建就没用了——不过我还没证实,欢迎小伙伴证实后告诉我)
  • Xcode Project File: 如果需要构建一个project而不是一个workspace的话则指定文件的名称(后缀名为xcodeproj的文件)
  • Build output directory:该参数只是指明了最终需要产生的动态包,ipa,app等文件默认路径为所编译的xcodeproj所在目录,如主项目和POD项目整合后,则会在主项目的和POD项目的XCODEPROJ所在目录(编译产生的相关文件所在目录,默认为SYMROOT/CONFIGURATION)

  • 值得说的是有一个参数也是挺常用的就是OBJROOT,该参数是产生.a和.hmap文件的目录,默认路径为所编译的xcodeproj所在目录,如主项目和POD项目整合后,则会在主项目的和POD项目的XCODEPROJ所在目录,关于OBJROOT、CONFIGURATION_BUILD_DIR以及SYMROOT三个路径之间的关系大家可以去查看官方的文档。

目录
相关文章
|
2天前
|
jenkins Unix 持续交付
个人记录jenkins编译ios过程 xcode是9.4.1
个人记录jenkins编译ios过程 xcode是9.4.1
15 2
|
2天前
|
jenkins Java 持续交付
【项目集成工具】Jenkins
【项目集成工具】Jenkins
|
2天前
|
jenkins Java 持续交付
实战指南:运用Jenkins实现Java项目的持续集成与自动化部署
【4月更文挑战第17天】Jenkins是一款强大的开源CI/CD工具,广泛用于Java项目的自动化构建、测试和部署。通过配置Jenkins环境、创建Job、设定构建触发器和步骤,实现持续集成和部署。集成Maven、Git等工具,确保代码质量并加速上线。持续部署阶段,Jenkins可将工件发布至远程服务器或云环境,实现高效、稳定的自动化流程。实践过程中,关注工作流优化、配置备份和服务器状态监控,以提升整体开发效率和软件质量。
|
2天前
|
jenkins Java 持续交付
Docker Swarm总结+Jenkins安装配置与集成(5/5)
Docker Swarm总结+Jenkins安装配置与集成(5/5)
62 0
|
2天前
|
jenkins Java 持续交付
Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)
Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)
47 0
|
8月前
|
jenkins 持续交付 开发工具
如何基于Docker搭建jenkins集成开发环境?建议收藏
如何基于Docker搭建jenkins集成开发环境?建议收藏
105 1
|
7月前
|
运维 jenkins 机器人
Jenkins配置项目集成钉钉通知
Jenkins配置项目集成钉钉通知
|
8月前
|
jenkins 应用服务中间件 持续交付
1小时带你入门Jenkins持续集成自动化环境搭建
1小时带你入门Jenkins持续集成自动化环境搭建
|
8月前
|
jenkins Java 持续交付
使用 Jenkins 创建微服务应用的持续集成
使用 Jenkins 创建微服务应用的持续集成
83 0