jenkins+Xcode+蒲公英实现ipa自动打包发布全攻略

来源:互联网 发布:郑州冰川网络 编辑:程序博客网 时间:2024/04/30 00:17

一.环境说明

搭建机器:一台Mac Book Pro
开发工具:XCode V7.3.1
开发环境:OS X EI Capitan 版本 10.11.5
jenkins版:V1.647

(特别注意:我用的是V1.647,如果使用其他版本可能导致一些未知的BUG)

比如我之前用了最新的2.10版本,就导致了一个很奇葩的问题,找了很多资料都没有解决


2.10.png

所以还是用老版本吧,比较稳定点。

二.环境搭建

1.Android adb 命令配置

关于Android整个开发环境的搭建,什么SDK的下载安装,这里我就不详细叙述了,作为一个Android开发人员这个是基本技能了。
我主要说下adb命令配置
第一步:打开终端iTerm


iTerm.png

(广告插入,想要这个工具,可以看我之前的一篇文章:iOS程序猿这些工具你值得拥有http://www.jianshu.com/p/4b7e65f2677c)
第二步:输入touch .bash_profile(创建文件)
第三步:open -e .bash_profile(打开文件)
在弹出的文件中,输入Android SDK platform-tools的路径
格式为:export PATH=${PATH}:路径地址


1,2.png


第四步:输入source .bash_profile
第五步:输入adb(校验是否配置成功)


adb配置成功.png


还需要进行下面的配置,android命令才能使用


android命令配置.png

2:配置ant命令

下载安装包,官网下载地址:
http://ant.apache.org/bindownload.cgi


Paste_Image.png


将下载到文件解压到部署目录,比如


Paste_Image.png

类似与adb命令的配置,把PATH添加到.bash_profile文件


Paste_Image.png

通过ant -version测试是否配置OK

3:安装jenkins

通过brew install jenkins进行安装


安装jenkins.png

启动jenkins.png

通过浏览器访问(终于看到小老头了,哈哈)


浏览器访问.png

注意:
不要通过pkg安装,可能导致比较奇葩的问题
不要通过pkg安装,可能导致比较奇葩的问题
不要通过pkg安装,可能导致比较奇葩的问题


5669E035-E9B1-4428-8D44-0AB5043EDCE0.png


至于为什么,我也不知道,文末我会详细叙述下那个奇葩的BUG,还请大神指导

4:jenkins环境配置

a.安装相应的插件

Git Plugin
Xcode integration(编译插件,不可少)


1.png

2.png

b.环境变量配置

配置Android SDK路径


1.png

2.png

5:新建一个github的iOS项目

https://github.com/andli0626/jenkins-for-iOS

这里关于iOS开发环境的搭建,证书的配置我就不讲了,作为一名iOS开发人员这些都是基础啦,小case啦。

注意,这里面有个坑,就是项目的目录结构


Paste_Image.png

如果是类似这种


Paste_Image.png


会报下面的错误


Paste_Image.png


为什么会这样呢?我暂时也没搞明白,如果有大神知道的可以留言告知,感谢不尽!

至此,前期准备都准备完毕了

三.项目实战

1.新建一个自由风格的软件项目

2.配置git地址


Paste_Image.png

我们先立即构建下,提示构建成功


构建成功.png


那么构建后的项目在哪里呢?
通过系统管理->系统设置->主目录 点击高级,可以查看到


查看目录.png

在jenkins的workspace目录中,可以看到构建的项目


Paste_Image.png

3:编译配置(很关键)

上面虽然编译成功了,但是你发现根本没有看到ipa文件,所以还需要进行下面的配置:增加构建步骤

这就用到我们上面安装的Xcode插件了


Paste_Image.png

Xcode插件配置


Paste_Image.png

Paste_Image.png

配置完成,点击立即构建,查看ipa所在的路径


Paste_Image.png

OK,一个简单的打包就完成了。

4.发布到蒲公英

a.帐号申请

首先得注册一个蒲公英的帐号
官方地址:
http://www.pgyer.com/apps


Paste_Image.png


上传一个APP,得到API Key,UserKey


Paste_Image.png


注意:同一个用户的API Key,UserKey是固定的(后面会用到这2个参数,请记住)

b.jenkins配置


Paste_Image.png

Paste_Image.png
curl -F "file=@ipa所在路径" -F "uKey=用户User Key" -F "_api_key=用户API Key" http://www.pgyer.com/apiv1/app/upload

小技巧:快速获取ipa所在的路径,右击->拷贝路径->终端格式


Paste_Image.png

如果我想发布到 http://fir.im/apps 怎么弄呢?那就下一篇再讲了
官方说明文档:http://fir.im/tools


Paste_Image.png

传送门:jenkins通过fir插件实现ipa的自动发包

http://www.jianshu.com/p/9543de52515a

20160705 补充 采用企业级证书打包后未加入测试设备的手机无法安装


Paste_Image.png


如果是个人证书只能测试设备安装了。
蒲公英上叫内测版


Paste_Image.png

相对的就是企业版了


Paste_Image.png

参考资料

Jenkins+GitHub+Xcode+fir搭了一个持续集成环境
http://www.jianshu.com/p/a17167274463
Jenkins+GitHub+fir_cli 一行命令从源码到fir.im
http://www.jianshu.com/p/0515e2465c49
使用jenkins上传到蒲公英(Android)-蒲公英官方文档
http://www.pgyer.com/doc/view/jenkins


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刚买的月季苗叶子黄了怎么办? 月季新出的芽中间黑了怎么办 龙须的茎被折断了怎么办? 扦插的月季跟部总发黑怎么办 用过皮炎平后的黑印怎么办 兰花现在不管王莽岭了员工怎么办 家里很穷妈妈还不知道省钱怎么办 执业医师电子注册信息弄错了怎么办 开过花后的百合花根怎么办 荔枝吃起来有股保鲜剂的味道怎么办 厂停产不宣布倒闭又不赔钱怎么办 二审判决生效后发现判错了怎么办 应收账款质押后附属的担保怎么办 房子借款合同和抵押合同丢了怎么办 离婚判决不服上诉期限过了怎么办 法院判完执行厅不执行怎么办 民事判决书下来又有新的证据怎么办 民事判决书下来欠钱没钱法院怎么办 法院笔录没看清就签字了怎么办 有人模仿自己笔迹在法院签字怎么办 房屋未签合同中介定金不退怎么办 临时摊位买的东西想退怎么办 租房合同签了房东不想租了怎么办 租房合同签了不想租了怎么办 租房合同刚签一天不想租怎么办 买二手房房东不交物业费怎么办 买二手房原房主欠物业费怎么办 客人将物品遗留在餐厅时怎么办 工程签合同了又别人来干怎么办? 超市储存柜东西忘拿了怎么办 普通异性朋友出去玩在外面住怎么办 古墓丽影崛起绳箭突然没有了怎么办 pp材质的水杯用开水烫了怎么办 手上长水泡很痒怎么办有什么药膏 烧伤后水泡破了周围都肿了怎么办 烧伤的水泡破了碰到水怎么办 浓硫酸沾到皮肤上应该怎么办 将浓硫酸沾到皮肤上怎么办 刷厕所的盐酸弄到皮肤上怎么办 死刑犯被执行后发现被冤枉的怎么办 觉得老公对自己不够关心体贴怎么办