Continuous integration for Xcode Project

原创 2017年01月03日 19:58:06

     感悟:今天刚搭建好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功能强大,还有很多功能等我我去探索。。。。。。。

版权声明:本文为博主原创文章,您可自由转载,但请保留博主信息和文章链接URL。

Get Started With Continuous Integration For Your .NET (C#) Projects - Test Your Project

In the previous post, the project is able to build when new code is checked in to the SCM.  In thi...
  • jewes
  • jewes
  • 2011年12月31日 11:16
  • 1222

Get Started With Continuous Integration For Your .NET (C#) Projects - Build Your Project

In this post, I will recall my recent experience on continuous integration using Jenkins and Sonar i...
  • jewes
  • jewes
  • 2011年12月26日 22:19
  • 2537

Xcode_Continuous_Integration_Guide

  • 2015年03月24日 11:01
  • 9.51MB
  • 下载

Get Started With Continuous Integration For Your .NET (C#) Projects - Integrate Sonar

This is the 3rd post of this series on Getting Started With Continuous Integration For Your .NET (C#...
  • jewes
  • jewes
  • 2012年01月19日 21:38
  • 5828

Getting Started with Continuous Integration

原文地址:http://www.developer.com/tech/article.php/3557396/Getting-Started-with-Continuous-Integration.h...

持续集成(Continuous integration)

流程 当对代码进行变更,开发人员取得当前基础代码的一份拷贝。当其他开发人员提交变更的代码到代码库里时,这份拷贝将逐渐与版本库里的最新代码间产生差异。不仅现存的代码基础发生了变化,而且随着新的代码、库...

Practices of Continuous Integration

The story above is the overview of CI and how it works in daily life. Getting all this to work smoot...

Principles of Continuous Integration - 持续集成的原则,来自James Betteley

http://jamesbetteley.wordpress.com/2011/01/25/principles-of-continuous-integration/  Principles...
  • PPTV_QA
  • PPTV_QA
  • 2012年09月01日 22:00
  • 395

为什么我们迫切需要持续集成(Continuous Integration)

持续集成(Continuous Integration),也就是我们经常说的 CI,是现代软件开发技术的基础。本文论述了当前软件开发过程中存在的问题,讲解了持续集成、持续集成服务器的概念,最终探讨了为...

持续集成CI(Continuous integration)

持续集成作为敏捷开发的基石,被很多软件开发项目组所采用。      持续集成定义:      *什么是持续集成?* 持续集成一种软件开发实践。通过它,开发团队的成员频繁的整合他们之间的工作。它不是...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Continuous integration for Xcode Project
举报原因:
原因补充:

(最多只允许输入30个字)