设为首页 收藏本站
查看: 892|回复: 0

[经验分享] ios持续集成之Jenkins使用

[复制链接]

尚未签到

发表于 2018-1-9 14:26:09 | 显示全部楼层 |阅读模式
  本文将介绍如何使用jenkins自动打包部署内测应用
  1、安装jenkins:brew install jenkins
  2、安装jenkins插件:登录到jenkins->管理插件:
  安装:Xcode integration,Workspace Cleanup Plugin,Timestamper,SSHSlaves plugin,SICCI For Xcode Plugin
  Pipline,Perfecto Mobile Plugin,GitHub Organization Folder Plugin,Email Extension Template Plugin,Credentials Binding Plugin,build timeout plugin,Appaloosa Plugin
  3、配置jenkins:
  a、新建应用:点击jenkins首页->新建->构建一个自由风格的软件项目(如果你的项目是一个新建配置环境的工程,可以在最后copy from 然后输入之前创建好的项目,这时候你新建的项目配置会和你输入的项目的配置一摸一样。多个工程使用这种方式比较快速新建项目,毕竟只要改改项目位置,名字,证书就可以了),点击ok/确定
  b、项目名称会作为jenkins中.workspace文件夹下你项目的根目录名(相同应用可以用在jenkins上配置不同项目名称来配置项目名)
  c、配置项目常规的选项:通用中有很多选项可供选择。这些不会影像项目生成方式。可以自己研究一下。
  d、源码管理:源码管理有3个选项:None,Git,Subversion,这是构建代码的出处,配置git,或svn环境时要配置对应的账号信息
  e、构建触发器:这里是如何出发jenkins构建项目的,不配置的话就是手动构建,我们现在是让测试人员主动登录jenkins去构建项目。
  f、构建环境:这边我选了每次开始构建时都删除workspace中的文件。这样可以保证每次构建的工程肯定是最新的工程
  g、(Shell配置)归档和ipa生成脚本和上传到指定分发部署平台配置:
  * 由于归档和ipa最终要输出到jenkins运行的机子上,所以我在机子上建了一个文件夹用于存放归档和ipa文件的如~/Document/builds
  *add Execute shells:
  第一个shell
  rm -rf ~/Documents/builds/***.archive
  rm -rf ~/Documents/builds/***.ipa
  这个操作是将之前的归档和ipa删除
  第二个shell
  xcodebuild -archivePath '~/Documents/builds/*.xcarchive' -workspace ***.xcworkspace -sdk iphoneos -scheme "***[scheme name]" -configuration "Debug" archive
  这个shell能够帮你生成一个archive文件然后输出到~/Documents/builds/文件夹下
  第三个shell
  xcodebuild -exportArchive -archivePath "~/Documents/builds/***.xcarchive" -exportPath "~/Documents/builds/" -exportOptionsPlist "~/Documents/***.plist" CODE_SIGN_IDENTITY="iPhone Developer: *** (***)"
  PROVISIONING_PROFILE="****-e398-4784-a96d-*******"
  这个shell是从归档文件输出ipa到~/Documents/Builds/文件夹下
  注意到上面又一个-exportOptionsPlist *** .plist 这个是xcode7后xcodebuild生成ipa需要的一个plist,这个plist可以通过xcodebuild命令--help来看到具体里面的参数名使用方法说明等。
  第四个shell
  curl -F "file=@~/Documents/builds/***.ipa" -F "uKey=***" -F "_api_key=***" https://www.pgyer.com/apiv1/app/upload
  这个shell是将ipa上传到蒲公英(当然你的自己配置ipa上传到自己的部署环境去)
  注意点:上面的~/ 如果识别不出来就直接用你电脑的绝对路径就可以了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433247-1-1.html 上篇帖子: 使用jenkins+docker部署项目 下篇帖子: Jenkins项目部署使用教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表