jenkins+mac+fir自动打包

一、简述

jenkins是一个广泛用于持续构建的可视化web工具,持续构建即各种项目的”自动化”编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。

二、Jenkins的安装

1、Jenkins本身是用java语言开发的,所以安装Jenkins之前,要保证你的电脑有jdk,如果没有,请到如下链接下载:http://rj.baidu.com/soft/detail/25851.html?ald,另外建议git、ant、maven、gradle、groovy等工具也一并安装好,方便与这些构建工具集成。

2、进入Jenkins的官网https://jenkins.io/index.html,然后下载并安装Jenkins。此处有两种安装方法,使用命令行安装和使用jenkins.pkg安装,建议使用后一种,步骤如下:

(1)如下图,点击 Download Jenkins

jenkins+mac+fir自动打包_第1张图片

(2)然后选择 LTS Release->2.7.1.war->Mac OS X

jenkins+mac+fir自动打包_第2张图片

(3)下载完成后,得到 jenkins-2.7.1.pkg 文件,点击直接安装即可,安装过程中,一路continue,到下图时,取消 start at boot as“jenkins”,一般不需要自启动。

jenkins+mac+fir自动打包_第3张图片

(4)安装完成后,会直接跳转到如下界面,如果没有跳转或者跳转失败,可通过执行如下命令 ” open /Applications/Jenkins/jenkins.war ” 进入到该界面:

jenkins+mac+fir自动打包_第4张图片

(5)观察图中的路径,然后打开你的终端,执行如下命令(注意:该命令仅在安装Jenkins的过程中执行才有效;安装成功后,再在终端中执行是无效的):

(6)然后将我们得到的password输入到“Administrator password“中,即可进入如下界面,接着安装一些建议的插件,安装过程中,有的插件可能会安装失败,可以跳过,之后需要对应的插件时,再重新安装即可,具体后面会讲到:

jenkins+mac+fir自动打包_第5张图片

(7)插件安装完成后,可能会卡在如下界面,不会自动跳转,刷新下界面即可:

jenkins+mac+fir自动打包_第6张图片

(8)在刷新后的界面中注册,输入用户名和密码,如下:

jenkins+mac+fir自动打包_第7张图片

(9)注册成功后,点击”Start using Jenkins”

jenkins+mac+fir自动打包_第8张图片

三、Jenkins的使用

1、安装成功后,会进入到如下界面:

jenkins+mac+fir自动打包_第9张图片

2、由于安装过程中,有些插件可能会安装失败,通过如下方式检查所需的插件是否安装成功。

(1)通过“系统管理->管理插件->已安装“,检查如下所需的插件是否安装成功:

<1> Xcode integration

<2> GIT plugin

<3> Post-Build Script Plug-in

<4> GitHub plugin

<5> Email Extension Plugin

特别提醒:本人的项目是使用Git托管在OSChina上的,所以具体需要什么插件要具体考虑,建议最好对照上述步骤(7)中的插件安装结果来检查。

(2)如果有对应的插件没有安装成功,可通过“系统管理->管理插件->可选插件“来安装。安装插件的过程中,如下:

jenkins+mac+fir自动打包_第10张图片

可以看到,插件已经安装成功。但是,打开“系统管理->管理插件->已安装“时,没有找到刚刚安装的插件,这是可以通过重启Jenkins,并重新安装来解决,直到最终我们安装的插件出现在“系统管理->管理插件->已安装“中。

提示:重启Jenkins的方法为:localhost:8080/restart

3、Jenkins的使用

(1)点击新建,创建一个项目

jenkins+mac+fir自动打包_第11张图片

(2)输入项目名称,并选择构建一个自由风格的软件项目,点击下方的OK。

jenkins+mac+fir自动打包_第12张图片

(3)General 中建议写上一些项目描述,其余的不用操作

jenkins+mac+fir自动打包_第13张图片

(4)源码管理,配置如下:

我的项目是使用Git托管在OSChina上的,具体情况具体对待,配置如下:

<1> 选择Git

jenkins+mac+fir自动打包_第14张图片

<2> 首先将托管在OSChina上的项目的URL

取出,并粘贴在图中位置

<3> 通过 “Credentials->Add->Jenkins”来添加OSChina的用户名和密码。

<4> 输入对应的用户名和密码后,并在Credentials中选择该帐号,其余选项不用操作。

jenkins+mac+fir自动打包_第15张图片

(5)构建触发器,有多个选项,具体选择要看你的需求,举例说明:

<1> Build periodically:周期进行项目构建,它不关心源码是否发生变化。

<2> Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。

<3> 我们接下来用Build periodically来演示,如下图,其中的日程表设置为 ” 10 12 * * * “,即每天中午的12点10分,都会自动构建一次:

jenkins+mac+fir自动打包_第16张图片

提示:日程表中所填格式的含义,可以点击右侧的❓来查看,其中有很详细的解释。

(6)构建环境,可直接跳过,不用设置。

(7)构建,设置如下:

1)General build settings

<1> 增加构建步骤,选择 Xcode。

jenkins+mac+fir自动打包_第17张图片

<2> 在下图的Target中,保证该Target和Xcode项目工程中的Target同名。

Xcode项目工程中的Target如下图:

jenkins+mac+fir自动打包_第18张图片

<3> 点击图中右下角的Settings

jenkins+mac+fir自动打包_第19张图片

<4> 建议勾选Clean before build?,并将Configuration设为Release。

jenkins+mac+fir自动打包_第20张图片

<5> 勾选Pack application and build .ipa?,同时为即将输出的ipa文件命名并指定输出路径,如下图:

jenkins+mac+fir自动打包_第21张图片

2)Code signing & OS X keychain options

我在OSChina上托管的项目,已经在Xcode中就配置好了证书,所以只需要执行如下步骤:勾选 Unlock Keychain?,并输入对应的Keychain path 和 Keychain password 即可。

jenkins+mac+fir自动打包_第22张图片

提示:怎样获得Keychain path 和 Keychain password ?

解决方案:回到Jenkins首页,系统管理->系统设置->

Xcode Builder,其中Keychain path会自动生成,Keychain Name 和 Keychain password 填写即可。

jenkins+mac+fir自动打包_第23张图片

3)Advanced Xcode build options

此处有个注意点,即你的项目中使用CocoaPods和没有使用CocoaPods的配置是不同的。

<1> 假如你的项目中使用了CocoaPods,如下图配置,至于每一项是什么含义,点击后面的❓,已经解释的很清楚了,不再赘述:

jenkins+mac+fir自动打包_第24张图片

<2> 假如你的项目中没有使用CocoaPods,应配置如下:

jenkins+mac+fir自动打包_第25张图片

4)Versioning 跳过即可。

(8)构建后操作

小提示:点击各个选项最后的❓时,都会有相应选项的详细说明。

1)构建后,上传到fir.im

由于构建后,要上传到http://fir.im/apps,而且上传有两种常用方法,建议使用第一种。

第一种方法:使用插件fir-plugin-0629.hpi,直接点击下载即可。配置如下:

<1> 回到Jenkins首页,系统管理->管理插件->高级,通过下图将你下载的插件上传:

jenkins+mac+fir自动打包_第26张图片

<2> 上传之后,在 “可选插件” 中找到它,然后安装。

<3> 安装成功后,如下图,选择 “增加构建后操作步骤”,选择 “Upload to fir.im”。

jenkins+mac+fir自动打包_第27张图片

<4> 在Upload to fir.im 中,输入你的fir.im Token。

提示:fir.im Token 的获得方式:首先注册一个 fir.im 帐号,然后如下图,找到你的 fir.im Token。

jenkins+mac+fir自动打包_第28张图片

如下图,即 fir.im Token,可重新生成。

jenkins+mac+fir自动打包_第29张图片

<5> 其余选项略过。

第二种方法:使用命令行的形式配置并上传,简述如下:

<1> 选择 “增加构建后操作步骤”

<2> 选择 “Execute a set of scripts”

<3> 选择 “Add build step”

<4> 选择 “Execute shell”

<5> 在下图中输入:fir p${WORKSPACE}/build/TestJenkins.ipa -T#API Token#

jenkins+mac+fir自动打包_第30张图片

提示1:其中${WORKSPACE}/build/为 .ipa 的输出路径,#API Token#为fir.im的API Token。

提示2:在使用该命令前请先确认安装fir-cli,安装命令如下:

sudo gem install fir-cli –no-ri –no-rdoc

上面的命令来自 fir.im 的工具 fir-cli,这是他们的官方使用说明:官方工具 fir-cli 使用说明。

2)构建后,自动发送邮件提醒

<1> Jenkins 自带一个邮件的通知的功能,但是自带的邮件通知功能,有点简单,不能自定义信息,所以我们安装邮件插件Email Extension Plugin。

<2> 首先确保在 “系统管理->插件管理->已安装 “中,已经安装了Email Extension Plugin,如果没有,请安装。

<3> 通过 “系统管理->系统设置->Extended E-mail Notification” 配置邮件服务器,此处以163邮箱为例,具体配置如下图,并指定 “Default Content Type”:

jenkins+mac+fir自动打包_第31张图片

<4> 点击上图中的 “高级”,可以进一步设置,如下图,即指定一个可用的163邮箱,用来发送邮件,输入正确的邮箱和密码”:

jenkins+mac+fir自动打包_第32张图片

同时指定 ” Default Recipients” 和 “Default Content”,具体如下图,其中 “Default Content” 可根据实际需求来调整。

jenkins+mac+fir自动打包_第33张图片

<5> 在 “系统管理->系统设置->Jenkins Location” 中,将上述163邮箱作为 “系统管理员邮件地址”。

提示:邮箱(以163邮箱为例),一般都是禁止第三方邮件客户端来使用163邮箱来发邮件的,可以通过以下方式解决:

首先,进入163邮箱,找到设置;

然后,如下图,选择 “POP3/SMTP/IMAP”

jenkins+mac+fir自动打包_第34张图片

最后,如下图,勾选 “POP3/SMTP服务” 和 “IMAP/SMTP服务”,并通过短信验证的方式,实现使用授权码登录第三方邮件客户端。(此处各种邮箱的设置不一定相同,但大同小异)

<6> 回到项目中的 “构建后操作”处,继续进行设置,如下图:

jenkins+mac+fir自动打包_第35张图片

其中的 “Project Recipient List” 是收件人列表,可根据实际需要添加,各个邮箱之间以逗号分隔即可(也可使用cc: or bcc: 的形式,点击右侧❓可查看详情)。其余各项按图中配置即可,如有特殊需要,再针对性设置。

<7> 如果想获得输出log,可通过下图中的 “Attach Build Log” 来设置。

<8> 点击上图中的 “Advanced Settings”,来进一步设置触发方式。如下图,我选择了当构建成功和失败时,都发送邮件通知指定对象。

jenkins+mac+fir自动打包_第36张图片

<9> 在各种具体的触发方式中,同样可以做一些具体设置。例如,想在不同的触发方式下,发送邮件给不同的人,那么就可以通过该功能实现。

例如,在触发成功的情况下,通知下面三人,可如下设置:

在触发失败的情况下,仅通知特定一人,可如下设置:

(9)上述步骤都完成后,点击 “Apply”->保存。

(10)当你在(5)中设置的触发时间点到了时,就会自动构建项目,并打包ipa上传。

(11)上传后,可登录http://fir.im/apps去查看,如果上传成功,显示如下,可打开预览查看具体的更新时间:

(12)也可打开设定的邮箱,去验证是否有收到邮件,一般邮件内容如下,可点击其中的 ” ipa下载地址” 去下载该APP:

你可能感兴趣的:(jenkins+mac+fir自动打包)