美文网首页
jenkins+mac+fir自动打包

jenkins+mac+fir自动打包

作者: 宝山潇洒哥 | 来源:发表于2017-06-09 15:38 被阅读0次

    一、简述

    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

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

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

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

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

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

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

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

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

    三、Jenkins的使用

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

    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,并重新安装来解决,直到最终我们安装的插件出现在“系统管理->管理插件->已安装“中。

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

    3、Jenkins的使用

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

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

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

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

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

    <1> 选择Git

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

    取出,并粘贴在图中位置

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

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

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

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

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

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

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

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

    (7)构建,设置如下:

    1)General build settings

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

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

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

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

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

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

    2)Code signing & OS X keychain options

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

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

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

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

    3)Advanced Xcode build options

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

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

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

    4)Versioning 跳过即可。

    (8)构建后操作

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

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

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

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

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

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

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

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

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

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

    <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#

    提示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”:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    相关文章

      网友评论

          本文标题:jenkins+mac+fir自动打包

          本文链接:https://www.haomeiwen.com/subject/xokfqxtx.html