1 安装Jenkins

Jenkins是基于Java开发的一种持续集成工具。所以呢,要使用Jenkins必须使用先安装JDK。

JDK安装

JDK 下载地址

jdk 1.8.png

安装JDK的过程略,别说你不会安装(如有不会安装的,自行百度)。

Jenkins安装

Jenkins 下载地址

Jenkins安装文件.png

点击图中 Mac OS X,会自动下载【jenkins-1.644.pkg】
安装过程略(双击jenkins-1.644.pkg后,下一步就OK了)。

注意: 1、Jenkins 安装成功后,会创建一个Jenkins用户,而Jenkins的工作区间默认是在【/用户/共享/Jenkins/Home/jobs】目录下,可以用Finder-->前往,进入。
2、Jenkins目录下的文件夹的读写权限只对Jenkins用户开放,所以后面apple证书等必须在Jenkins用户下安装,项目的ipa导出也得在Jenkins用户下操作。(或者用管理员权限修改该目录针对用户的权限)
3、Jenkins的使用是每一个用户都可以使用,所以有可能导致构建版本的时候报错,还是老老实实在Jenkins用户下操作吧。

测试Jenkins安装成功

打开浏览器,输入http://localhost:8080,如果能够正常打开Jenkins,则Jenkins安装成功。

2 安装Jenkins插件

Jenkins里有相当多的插件,使用什么工具就安装什么工具的插件。
比如我们这里使用SVN,就安装SVN的插件,如果你使用Git就安装Git的插件。
因为我已经安装了SVN,所以安装插件的过程就用Git来演示。

安装插件第一步.png

安装插件第二步.png

第三步,搜索,安装插件.png

第四步,安装过程.png

第五步,查看已安装插件.png

3 Xcode以及开发证书设置

因为要使用Xcode命令,所以必须保证Xcode command Line已安装。

3.1 设置apple development 证书

在原来Xcode开发所在用户下,导出发布证书,如果要打企业包(299刀)和公司/个人版包(99刀),则两种证书都要导出,然后拷贝到Jenkins用户环境下,双击安装到Mac 的钥匙串中。

证书设置第一步.png

证书设置第二步.png

注意:因为用户访问钥匙串中的证书需要权限,而用jenkins构建时,不管是用Xcode插件配置还是shell 脚本,都不能输入用户密码,所以必须设置证书的【访问控制】为允许所有应用程序访问此项目。

3.2 安装mobileprovision描述文件

同样需要在Jenkins用户下,安装好打包需要的手机描述文件。

4 配置构建项目

下面讲解构建项目的配置,可以使用本地的项目,也可以使用SVN上的项目(只需要填入svn上工程地址即可),然后输入shell 脚本就可以开始构建了。

4.1 使用本地项目构建

步骤如下:

配置项目,第一步.png

点击OK,在【/用户/共享/Jenkins/Home/jobs】目录下会生成HelloJenkins的目录。

配置项目第二步.png

配置第三步.png

其他的设置项,均不用设置,只需要设置下脚本即可,脚本详细的内容如下:

# 工程名
APP_NAME="HelloJenkins"
# 证书
CODE_SIGN_DISTRIBUTION="iPhone Distribution: XXXXXXXXXXXX"
# info.plist路径 project_infoplist_path="./${APP_NAME}/Info.plist" #取版本号 bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}") #取build值 bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}") DATE="$(date +%Y%m%d)" IPANAME="${APP_NAME}_V${bundleShortVersion}_${DATE}.ipa" echo "=================clean=================" xcodebuild -target "${APP_NAME}" -configuration 'Release' clean echo "+++++++++++++++++build+++++++++++++++++" xcodebuild -target "${APP_NAME}" -sdk iphoneos -configuration 'Release' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)' xcrun -sdk iphoneos PackageApplication "./Release-iphoneos/${APP_NAME}.app" -o ~/"${IPANAME}"

注意1:【-o ~/$IPANAME】表示导出的ipa文件在当前用户的目录下,即【/用户/共享/Jenkins/】下。
其中CODE_SIGN_IDENTITY="iPhone Distribution: xxxxxxxxxx"是你打包使用的证书在钥匙串中的常用名称。
导出的ipa,叫【HelloJenkins_V1.2_20160118.ipa】。

注意2:如果如上图【配置项目第二步.png】那样,在xcodeproj相同目录下,新建一个sh脚本文件,用【sh xxx.sh】命令的话,见下一篇介绍。
如果你的项目中用到了cocoapods,那脚本有几个参数需要调整一下,详情见下一篇。

注意3(2016.02.17更新):CODE_SIGN_IDENTITY 这个属性可以不设置,直接设置profile就可以了,编译时会自动去匹配对应的CODE_SIGN_IDENTITY,需要注意的是设置profile时,设置的是其UUID值。例如【PROVISIONING_PROFILE='f035763e-e847-4db8-ac10-0004809fdc90'】

点击保存,然后点击左侧菜单,立即构建,即可开始构建。

立即构建.png

构建成功.png

构建结果.png

4.2 使用svn地址构建

第一步,新建项目,与上面的一样。
第二步,不用将工程拷贝到jobs目录下了,直接在配置里源码管理那一栏设置svn地址

SVN配置.png

第三步,设置shell 脚本,与上面的一样。
第四步,立即构建即可。

转载于:https://www.cnblogs.com/fakeCoder/p/5656296.html

Mac下Jenkins+SVN+Xcode构建持续相关推荐

  1. ios Mac下的SVN工具:Cornerstone与Versions和使用subversion管理iOS源代码

    原文地址为: ios Mac下的SVN工具:Cornerstone与Versions和使用subversion管理iOS源代码 ios管理代码的方式除了上次介绍的利用ios 自带的git库,还有使用S ...

  2. mac下的svn服务器建立

    MAC下的SVN服务器建立: from : http://blog.csdn.net/q199109106q/article/details/8655204 在Windows环境中,我们一般使用Tor ...

  3. Mac下的SVN客户端

    转自:http://blog.csdn.net/wanghao725/article/details/51483783 Mac下的SVN客户端也有多个(看下图),但是都需要收费.下面来说一下我用过的几 ...

  4. mac搭建svn服务器文件被锁定,mac安装svn_在MAC下搭建SVN服务器的详细教程

    摘要 腾兴网为您分享:在MAC下搭建SVN服务器的详细教程,易信,无忧兼职,茄子快传,每日一淘等软件知识,以及android解锁大师,workflow,乐客联盟,海鸥旅游,mm直播app,腾讯新闻,中 ...

  5. 基于Docker容器的,Jenkins、GitLab构建持续集成CI

    ** 开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布. 基于Docker,创建一个私有Gi ...

  6. Mac下cocos2dx-3.2+Xcode环境配置和项目创建

    这是有关环境配置的第二篇教程,第一篇讲的是win8下的环境配置.这里我们使用C++.所有如果你用其他语言如Lua和js进行cocos2d开发,那么可以再找一找其他的配置文档. 下面要说Mac os 下 ...

  7. mac下搭建svn环境

    本文链接:https://blog.csdn.net/Myuhua/article/details/81076358 在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Ma ...

  8. Mac下搭建SVN服务器

    Mac自带svn服务器,我们只需要开启svn服务器 创建svn目录 mkdir /Users/用户名/svn 将之前创建的文件夹设置为SVN的代码库,创建svn repository svnadmin ...

  9. Jenkins配合git构建持续构建流程

    作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 理解CI   CI(Continuous Integration)翻译成持续集成,是指在源代码 ...

最新文章

  1. 引用头文件#include queue出错
  2. python csv读取-python如何读取csv数据
  3. 计算机学校都有哪些怎么联系方式,计算机应用专业学校联系方式推荐
  4. 照片处理软件(iSee图片专家) 3.930 中文免费版
  5. 揭秘下一代云数据库引擎MyBasefor PostgreSQL
  6. axios跨域携带cookie_vue 本地调试跨域---带cookies(axios)
  7. sendencpac文件能删吗_“手机刷短视频”躺赚?安装自动阅读文件,开机就能挣钱?靠谱吗?...
  8. 后台数据库优化——板机
  9. STM32F1xx系列单片机通过程序获取MCU信息
  10. 一级调研员比三级调研员退休金高多少?
  11. JDBC中PreparedStatement接口的执行逻辑
  12. 【UU主机加速】PC无线热点直接加速switch(无需路由器)
  13. hadloop大数据平台论文_基于Hadoop的大数据解决方案的设计及应用
  14. 路由器WiFi密码更改及隐藏操作
  15. WEB渗透测试(一)被动信息收集3(RECON-NG)
  16. ISO26262标准
  17. 【缺陷检测】基于形态学实现印刷电路板缺陷检测技术附matlab代码
  18. 键盘事件keydown、keypress、keyup随笔整理总结
  19. python 调用qrcode库实现二维码识别
  20. 致青春(诉秋语 韵秋心)

热门文章

  1. 数学老师必备工具,你的最爱!
  2. XCode修改工程名注意
  3. 笔记:编写高质量代码 改善Java程序的151个建议
  4. Bootstrap—基础样式定义
  5. Leetcode_No.66 Plus One
  6. 关于TCP和MQTT之间的转换
  7. python-包package
  8. ORACLE1.22 %type %rowtype
  9. Python网络编程:IO多路复用
  10. 如何解决机器学习中数据不平衡问题