Continuous integration for Xcode Project

来源:互联网 发布:python if else 简写 编辑:程序博客网 时间:2024/06/06 04:09

     感悟:今天刚搭建好IOS开发的持续化集成环境,用了差不多两天的时间才配置好环境,从刚开始不太了解,到现在掌握的了解的差不多,中间构建了90多次,也就是失败了90多次,但每次失败的后总感觉下次会成功,就是这种信念-------最后才能搭建完成。下面我将搭建的流程和途中遇到的问题写下来,希望对其他人以后有所帮助吧。

  1. CI定义:

    什么是持续化集成?维基百科给出这样的定义

    持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程,将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。这个名称最早由葛来迪·布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次。之后成为极限编程(extreme programming,缩写为XP)的一部分。在测试驱动开发(TDD)的作法中,通常还会搭配自动单元测试。持续集成的提出,主要是为了解决软件进行系统集成时面临的各项问题,极限编程称这些问题为集成地狱(integration hell)

   我个人理解的就是在短期时间内多次提交并集成代码,并自动完成编译、构建、测试,大大节省了打包软件和测试软件的时间,让程序员能把更多的精力放在开发上,而不是没技术的打包上,从此脱离PM的整天要开发版本处境,走向人生巅峰大笑

  2. CI好处:

   CI的好处还有很多例如:1.缩减开发周期,快速迭代版本   2. 自动化流水线操作带来的高效 3. 随时可部署 4.自动化测试,避免低级错误

  3.xcode持续集成搭建

     工具:Mac + xcode  + tomact + jenkins + fir

     1.首先确定你的Mac上已经安装了tomact,因为jenkins是用java写的,tomact作为运行环境,如果还没有安装tomact请到Apache tomact官网下载

     2.安装jenkins,去Jenkins官网下载(https://jenkins.io/)两个文件,一个是.war后缀的文件(Jenkins.war)一个是.pkg后缀文件(Jenkins.pkg Mac OSX )网上很多是HomeBrew安装的,我没用。

        先安装Jenkins.pkg,安装很简单,直接按照步骤来就行,安装好后,Mac用上会多一个Jenkins用户。

        开启tomact,进入tomact 的bin目录 执行sh startup.sh 开启toamct (关闭tomact执行sh shutdown,sh )


        再将Jenkins,war放入到tomact中webapps文件下, 执行java -jar jenkins.war  --httpPort=8888 (制定端口,默认是8080,最好改一下) 若被指定端口被占用,可以用

        ps -e | grep java 找出端口号,再kill -9 xxx(进程号)

  3.打开浏览器输入http://localhost:8888 进入jenkins,第一次进入会让你设置一个账号和登录密码,登录进入后是这样的:


     4.点击新建,如下选择:

      

   

     5.


    6

      . 


      7. 


      8.

      9

    . 


    10

   

   

      11.

      

     

      

   

    12

     

      

     

       13.最后点击Apply 和保存就好了

       14.回到项目首页,点击“立即构建”即可

       15. 运行完后,红色的球表示构建失败,蓝色的球表示成功~,可以根据Console Output来找出问题(工程大的时候,日志量相当多)

        

      最后提醒,在创建项目之前一定要装各种插件 在系统管理--->管理插件中进行选择,根据需要选择


     遇到的各种问问题总结:

     1.配置中一定要把各种路径配置弄懂后在填写,上面写的路径不唯一,可以随便怎么写的,但切记:最好是在Jenkins目录下的workspace下的

    特别是 Xcode Project File 一定是Jenkins目录下的工程,而不是本地使用的开发版本工程

    2. 如果使用了pod 可能会遇到第三方框架识别不了的问题,如 “AFNetworking.h”报错,请到工程target -->build Setting --> User Header Search Path 中改为

     ${SRCROOT}  选为 recursive

    3.。。。。。。各种问题我就不写了,都是泪。。。。。

    

   Jenkins功能强大,还有很多功能等我我去探索。。。。。。。

0 0
原创粉丝点击