曾静的技术博客

但行好事,莫问前程.

嗨,我是曾静 (@devzeng),目前暂居深圳。


这是我用来记录平日学习笔记的地方,欢迎您的访问.

iOS中使用Jenkins搭建持续集成环境

在持续集成(Continuous integration,简称CI)这块,Jenkins无疑是目前使用的比较多的一个开源框架。本文就如何快速搭建一个iOS的持续集成环境进行介绍。

jenkins-logo.png

Jenkins安装

系统要求:必须安装JDK 1.5以上版本,推荐安装最新版本的JDK。可以通过java -version查看是否安装JDK。

$ java -version 
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

1、下载Jenkins

到官网https://jenkins.io选择下载最新版本的war包,推荐下载LTS(Long-Term Support,稳定版本)版本。

jenkins-download.png

2、运行Jenkins

下载完成之后只有一个文件jenkins.war,运行Jenkins相当的方便,可以通过命令行直接运行,也可以将war包丢在Tomcat的webapp目录下面。

在测试阶段可以使用命令行方式进行启动,在终端执行

java -jar jenkins.war

默认的端口号是8080,如果需要指定其他端口号可以使用如下方式(示例指定了9999端口号)

java -jar jenkins.war --httpPort=9999  

配置Jenkins

第一次运行启动Jenkins,在浏览器打开http://localhost:9999,会出现如下界面,提示需要填写指定路径文件里面的内容(该内容也可以在终端上面看到)。

unlock-jenkins.png

输入完成之后点击continue进入到插件安装页面,为了避免后续出现一些问题建议选择安装推荐的插件(install suggested plugins).

customize-jenkins.png

选择安装推荐的插件(install suggested plugins)后会出现安装进度界面,如下图所示:

suggested-plugin-install.png

插件安装完成之后就可以创建管理员用户了

create-admin-account.png

全部做完之后就可以愉快的使用了

install-success.png

配置slave

公司目前有几台Mac Mini,另外考虑到后续希望Android、Java Web开发的同事也能接入进来,目前是将Jenkins部署在CentOS上面,通过配置Slave的方式将Windows/MacOS/Linux进行统一管理,实现iOS、Android项目各自使用指定的节点。

点击系统管理 -> 管理节点进入到节点管理界面,可以查看和管理目前系统配置的所有节点。

node-manage.png

创建节点

(1)选择“新建节点”的菜单按钮,进入到节点的创建界面。

create-slave-node-1.png

(2)填写节点的一些基本信息

create-slave-node-2.png

说明:标签这个字段比较重要,这个字段用于识别是哪一个节点,在配置项目的时候会用到

使用

正在完善中…

1、常见问题

(1)和fastlane一起使用的时候报字符集错误

export LANG=en_US.UTF-8

(2)执行脚本的时候报错

security unlock-keychain "-p" "YOUR_KEYCHAIN_PWD" "/Users/YOUR_NAME/Library/Keychains/login.keychain" 

参考资料

1、持续集成是什么?

2、Jenkins 官网

最近的文章

使用Jersey开发REST服务

REST 是英文 Representational State Transfer 的缩写,有中文翻译为“表述性状态转移”。REST 这个术语是由 Roy Fielding 在他的博士论文 《 Architectural Styles and the Design of Network-based Software Architectures 》中提出的。REST 并非标准,而是一种开发 Web 应用的架构风格,可以将其理解为一种设计模式。REST 基于 HTTP,URI,以及 XML 这些...…

Java继续阅读
更早的文章

iOS中fastlane的使用

对于一个iOS APP的发布上线,一般来说都需要经历:编译打包 -> 截图 -> 填写一些说明文字 -> 上传ipa到itunes connect -> 提交供审核。每次都要进行这么多“繁琐”的步骤,对于某些步骤可能一次还不能执行成功需要等着界面提示上传错误然后手动重新再来一次(想想都觉得可怕)。在日常开发中,打包也是最后上线不可缺少的环节,如果需要生成ipa文件通常需要在Xcode里点击Product -> Archive,然后在弹出来的Organizer中...…

iOS继续阅读