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功能强大,还有很多功能等我我去探索。。。。。。。
- Continuous integration for Xcode Project
- Continuous Integration with Xcode 5
- Get Started With Continuous Integration For Your .NET (C#) Projects - Build Your Project
- Get Started With Continuous Integration For Your .NET (C#) Projects - Test Your Project
- continuous-integration
- Continuous Integration
- Automation for the people: Choosing a Continuous Integration server
- Automation for the people: Continuous Integration anti-patterns Part 1
- Automation for the people: Continuous Integration anti-patterns, Part 2
- Continuous Integration for DotNet Using Jenkins, SVN and MSBuild (DotNet)
- 持续集成 - Continuous Integration
- Practices of Continuous Integration
- Introduce Continuous integration
- Principles of Continuous Integration
- Android Continuous Integration
- A Continuous Integration System
- Continuous Integration in DevOps
- 什么是持续集成(Continuous Integration)
- Linux上C语言的自我学习一(文件编程-操作篇)
- DOM解析XML
- Python3教程之《开发常用工具》
- QT界面与视频同时显示在屏幕上
- 使用Eclipse开发和调试java程序
- Continuous integration for Xcode Project
- Tomcat 热部署
- dsp MessageQ消息队列
- Android的消息机制—Handler机制
- Android之---Context(上下文)
- java从小白到架构师大牛必看书籍
- A*算法
- mysql缓存
- (0015)iOS 开发之Mac上安装MySQL服务与创建数据库的基本步骤