IOS使用jenkins进行持续集成2

上一篇,自己尝试进行持续集成,研究的不深入,这两天,为公司搭建持续集成环境,以及内部发布系统,了解的更多了,所以分享出来。

这篇主要介绍一些其他东西,不重复介绍上一篇的内容。

如果使用jenkins进行ios持续集成,需要xcode插件支持,所以先下载xcode插件,而且后期还要用到ftp服务,也安装ftp的插件。

jenkins中可以自己创建特定的视图分组,all视图点击+号就能创建新视图,创建好后,在左侧的编辑视图选项,则会进入详情页,可以选择放入此视图的任务;相对于任务,我觉得最好依据代码svn地址,一般代码是分版本储存在不同位置,所以我们的任务也指向的一个版本,我是任务区分的版本号,例如 xxx_iphone_dev_2.5.0.

下面讲述IOS任务中的一些配置

1.一般勾选丢弃旧的构建,这样会清理build文件夹。

2.源码管理,一般使用Subverison,

Respository url,这是设置你的代码的svn地址,控制好访问到哪一个文件夹。

Local module directory (optional),这是让你自己设置代码存储到本地工作区的自定义目录,如果不写,则代码直接放在当前工作区目录下;如果自定义目录,则会在工作区创建这个目录结构,

然后代码存储到这个目录下。

源码管理,允许你下载多个地址的代码,点击add more locations...。

具体看图,一看就明白。

不同的代码下载到不同的目录,实际文件结构如下图。

一般,代码checkout策略,update就行。

3.触发器没加呢,可以设置每天几点触发构建,这个比较好,看自己需要。

4.增加xcode构建步骤

这里需要注意你的xcode工程的类型,和svn地址。

一般如果你的工程是单一的project,则好说,像下面,写个工程内的target,

打ipa包,写入ipa包名称,不用加.ipa,jenkins自动加上,输出目录,这里需要说下,jenkins中有很多地方都要匹配正确目录结构,大家可以看jenkins任务执行的日志看哪里出错,更可以看

实际的物理文件,/Users/xxx/.jenkins/workspace/job名称/。(.开头的一般是隐藏文件,一般mac用户都会让系统显示隐藏文件)。

5.签名

签名的得写全名称,下面的描述文件那个不用填,否则报错,前提是你的程序的target需要设置好工程能识别的签名证书,注意需要正常识别,不存在的描述文件配置可不行。

6.xcode高级配置

由于我们的工程是一个workspace而不是单一的project,所以直接简单配置target是不管用的。

这里需要注意,你使用的当前运行jenkins的mac电脑,需要执行下程序,进而产生当前电脑用户的scheme,然后上传到svn,这时再下载的时候,才会存在该用户的scheme,否则svn代码原来不带该用户的scheme,就不能build成功,报错说当前的workspace不存在xxx scheme。

xcode scheme file填写程序的scheme。

SDK填写你当前xcode命令行连接的xcode app的支持的sdk,假如你没注意过命令行,

haiwangdeMac-mini:VANCL hai$ xcodebuild -version

Xcode 6.0

Build version 6A313

这个说明我的使用的是xcode6.0.

haiwangdeMac-mini:VANCL hai$ xcodebuild -showsdks

OS X SDKs:

OS X 10.9                    
-sdk macosx10.9

iOS SDKs:

iOS 8.0                      
-sdk iphoneos8.0

iOS Simulator SDKs:

Simulator - iOS 5.0          
-sdk iphonesimulator5.0

Simulator - iOS 6.0          
-sdk iphonesimulator6.0

Simulator - iOS 7.1          
-sdk iphonesimulator7.1

Simulator - iOS 8.0          
-sdk iphonesimulator8.0

这个说明当前xcode支持的sdks。如果你命令行连接的xcode5,又SDK填入的iphoneos8.0,则会报错没有此sdk.

haiwangdeMac-mini:VANCL hai$ xcode-select -p

/Applications/Xcode 6.0.app/Contents/Developer

上个命令说明你的命令行连接的哪里。

Usage: xcode-select [options]

Print or change the path to the active developer directory. This directory

controls which tools are used for the Xcode command line tools (for example,

xcodebuild) as well as the BSD development commands (such as cc and make).

Options:

-h, --help                  print this help message and exit

-p, --print-path            print the path of the active developer directory

-s <path>, --switch <path>  set the path for the active developer directory

-v, --version               print the xcode-select version

-r, --reset                 reset to the default command line tools path

使用xcode-select -s <path>  可以重新设置命令行连接的地址,设置你连接到那个xcode版本上。

xcode workspace file  指定你的workspace在哪里,多个svn地址的时候需要为每个xcode构建配置不同的workspace。也许是2.5.0/xxx,也许是3.0.0/xxx.

build output directory 输出目录,你的任务构建的成果就出现在这个目录结构中,你的程序的app啊还有打成的ipa包啊plist文件等等。

在xcode构建中,你可以创建多个xcode构建过程,进而打不同的程序包。

6.构建后操作--邮件

一般都会设置邮件接收build失败的报告。这个需要说下系统管理--这里设置很多东西。

恩,同时也说说其他的。

有个执行者数量,设置同时执行多少个jobs。

Default view 默认视图。

Jenkins Location

需要配置jenkins url,这台机器的jenkins服务地址,http://10.8.53.131:8080/。

系统管理员邮件地址,填 vancl_ios_jenkins <[email protected]>

Subversion 一般选择1.7.

邮件通知,需要设置SMTP服务器。

注意下面有个选框,通过发送测试邮件测试配置,你可以设置一个邮件接收方测试邮件是否能够发送成功。

7.ftp上传服务

上一篇有个软件 lion weak吧,开放电脑的ftp功能。

在系统设置中设置ftp参数

我是传到本地。

然后是发布成果到ftp服务器。

我是直接发送到我的tomcat目录的发布系统的下面。

这里需要注意,一般选择flatten files,这样的话,你上传的Source路径下的目录结构就不会一起上传到Destination中,只会上传相应的文件;如果没有勾选,则会在Destination的目录结构下

又创建了Source的目录结构,很不爽。

这里再说下支持手机内直接下载安装的东西。

打ipa包的时候可以直接生成plist文件,它的plist的url填写成你的服务的地址,这个地址加上文件名就组成了可下载ipa包的http服务地址url。这个plist url中jenkins会自动后面加上ipa文件名。

下图是任务执行成功,并ftp上传到tomcat目录下的ipa以及对应的plist,打开plist可以看到它的软件值是指向对应的ipa包的。

8.这些包和文件都上传成功后,则设置下tomcat。

新建一个简单的web服务即可,首页的index.html改改。

增加下载链接

<a href="./static/vancl_iphone_app/3.1.0/VANCL-Online-3.1.0.ipa">VANCL-Online-3.1.0.ipa</a>

和直接安装的链接

<a href="itms-services://?action=download-manifest&url=http://10.8.53.131:8088/static/vancl_iphone_app/3.1.0/VANCL-Online-3.1.0.plist">install</a>

由于ios7.0以后需要服务器的https支持,这个直接下载安装没多弄呢。

可用keytool创建证书,然后放到tomcat 下,修改server.xml,但是我弄好后还是不能下载。

使用http,7.0的安装会提示证书无效;使用https则提示无法连接到ip地址,貌似好像得需要权威的证书,以后看看放到公司的服务器上去。

index.html修改好后,就可启动tomcat访问这个服务了,暂时就这些了。

上一篇:http://blog.csdn.net/monkey_cool/article/details/38010471

时间: 2024-07-28 17:46:49

IOS使用jenkins进行持续集成2的相关文章

【iOS】Jenkins Gitlab持续集成打包平台搭建

Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:[email protected] 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 1. 相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源,支持多平台和插件扩展,安装简单,界面化管理等特点.更多介绍参考维基介绍. Gitlab GitLab是一个利用R

IOS使用Jenkins进行持续集成

本文主要讲述在开发过程中,提高工作效率而进行的IOS-Jenkins的持续集成. 背景 平时我们开发完成IOS项目,需要打包给测试人员进行测试.其中的过程需要重复进行:修改配置项--编译---连接设备--运行打包--debug进设备中--然后交给等待的测试人员.现有成熟的持续集成Jenkins解决方案,并且该方案也提供了Xcode插件的支持,可以讲上述过程封装成一键解决方案. 我实现的是jenkins执行IOS的job,build工程,签名打ipa包,上传到FTP服务器,放到tomcat下,提供

IOS使用jenkins进行持续集成 第二篇

上一篇,自己尝试进行持续集成,研究的不深入,这两天,为公司搭建持续集成环境,以及内部发布系统,了解的更多了,所以分享出来. 这篇主要介绍一些其他东西,不重复介绍上一篇的内容. 如果使用jenkins进行ios持续集成,需要xcode插件支持,所以先下载xcode插件,而且后期还要用到ftp服务,也安装ftp的插件. jenkins中可以自己创建特定的视图分组,all视图点击+号就能创建新视图,创建好后,在左侧的编辑视图选项,则会进入详情页,可以选择放入此视图的任务:相对于任务,我觉得最好依据代码

IOS使用jenkins进行持续集成 第一篇

本文主要讲述在开发过程中,提高工作效率而进行的IOS-Jenkins的持续集成. 背景 平时我们开发完成IOS项目,需要打包给测试人员进行测试.其中的过程需要重复进行:修改配置项--编译---连接设备--运行打包--debug进设备中--然后交给等待的测试人员.现有成熟的持续集成Jenkins解决方案,并且该方案也提供了Xcode插件的支持,可以讲上述过程封装成一键解决方案. 我实现的是jenkins执行IOS的job,build工程,签名打ipa包,上传到FTP服务器,放到tomcat下,提供

jenkins+github持续集成中的坑

1.前言 刚开始开发自己的独立博客的时候,每次发布都要手动打包,上传服务器,杀tomcat进程,重启,来回这么重复性工作,很快就有点不耐烦了.如果能自动化的东西,就绝不要手动了,所以自己搭建了个持续集成环境,配好了结合github进行push时自动构建,自动发布的流程,提交代码,泡杯咖啡就发布好了.本以为很简单,但没想到中间细节还是有不少坑,查了很多资料,墙都翻了好几次,把遇到的问题记录在这里. 2.正文 详细安装教程就不复制粘贴了,推荐此文手把手教你搭建Jenkins+Github持续集成环境

使用jenkins构建持续集成平台

jenkins +   Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线(确认上线前可能经过多种环境的测试) ------上线到生产环境-----最终测试------如果出现问题代码回滚. 传统代码上线: 开发人员开发完成-----打好包(war.jar)-----交给运维人员上线(上传.拷贝) jenkins持续集成简介: 持续集成是一种软件开发实践,对于提高软件开发效

jenkins gulp 持续集成环境搭建

本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.然后教你jenkins如何集成前端构建工具Gulp.不要怕,jenkins gulp 持续集成环境搭建其实也很简单,我会分为五步向你介绍jenkins gulp 持续集成并帮助你完成一些惊人的事情.那就直接开始吧. 第一步:安装Node 首先,最基本也最重要的是,我们需要搭建node环境.访问 https://nodejs.org/en/download/ 下载得到这样的一个文件node-v6.9.

用MSBuild和Jenkins搭建持续集成环境(2)

http://www.infoq.com/cn/articles/MSBuild-2 作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意: 挥一挥衣袖,带走满满干货,关注活动大本营,时不时发福利呦!3 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 这是持续集成系列的下半部分,如果你还没看过上半部分的话,请点击这里:用MSBuild和Jenkins搭建持续集成环境(1). 与Jenkins相会

jenkins + Tomcat 持续集成环境搭建

今天在跑selenium用例时需要用到导入数据库来恢复数据,以便每次测试都保持环境是有效数据,于是想到了jenkins,这里简单介绍一下tomcat + jenkins的环境搭建: 步骤一.下载符合版本的jdk7,触压到某个目录,设置好JAVA_HOME并加入path. 步骤二.下载tomcat,这里使用的是apache-tomcat-7.0.42步骤三.下载Jenkins,把Jenkins.war放入tomcat的webapps目录下,启动tomcat,通过http://localhost:8