Jenkins + GitLab + Xcode + Fir 实现iOS自动打包和分发

一、简述

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

二、Jenkins 的安装

1、Jenkins 本身是用 Java 语言开发的,所以安装 Jenkins 之前,要保证你的电脑有 jdk,如果没有,可到如下链接下载安装:http://www.oracle.com/technetwork/java/javase/downloads/index.html

image
image

2、进入 Jenkins 的官网 http://jenkins-ci.org/ ,选择 Mac 直接安装。安装成功后。打开 http://localhost 查看是否可正常访问。

image

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

image

4、按照提示,找到 /Users/Shared/Jenkins/Home/ 这个目录下,这个目录虽然是共享目录,但是有权限的,非 Jenkins 用户 /secrets/ 目录是没有读写权限的。

image

5、修改权限打开 initialAdminPassword 文件,复制出密码,就可以填到网页上去重置密码了。如下图

image

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

image

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

image
image

三、Jenkins 的使用

1、由于安装过程中,有些插件可能会安装失败,通过如下方式检查所需的插件是否安装成功。
通过“系统管理->管理插件->已安装“,检查如下所需的插件是否安装成功:
<1> Xcode integration ( Xcode 插件)
<2> Credentials Plugin (签名证书管理插件)
<3> Keychains and Provisioning Profiles Management (签名证书管理插件)
<4> GitLab Plugin
<5> Gitlab Hook Plugin
<6> Post-Build Script Plug-in
<7> Email Extension Plugin

image
image

2、构建项目

image
image
image

点击新建好的项目,进来配置一下 General 参数。

image

接着设置源码管理。

由于现在用到的是 GitLab,先配置 SSH Key,在 Jenkins 的证书管理中添加 SSH。在 Jenkins 管理页面,选择 “Credentials” ,然后选择 “Global credentials (unrestricted)” ,点击 “Add Credentials”,如下图所示,我们填写自己的 SSH 信息,然后点击 “Save” ,这样就把 SSH 添加到 Jenkins 的全局域中去了。

重点!!重点!!

image
image

构建环境设置
iOS 打包需要签名文件和证书,所以这部分我们勾选 “Keychains and Code Signing Identities” 和 “Mobile Provisioning Profiles”。
这里我们又需要用到 Jenkins 的插件,在系统管理页面,选择 “Keychains and Provisioning Profiles Management”。

image

点击 choose File 并上传 login.keychain 地址: /Users/ 管理员用户名 /Library/keychains/login.keychain. 上传成功后会出现:

image

点击 Add Code Signing Identity 添加对应的签名

3.上传 Provisioning Profiles 文件,Xcode 的 profile 存放在~/Library/MobileDevice/Provisioning Profiles/ 中

image

4、在系统管理->系统设置->Xcode Builder 中设置相关证书

image

五、回到项目配置->构建

image
image
image
image

六、构建成功后使用 fir 上传

image

关于 fir token 的获取,可以登录 fir, 进入个人中心生成 token

构建

返回项目首页,点击构建即可自动化打包上传

image

如果构建失败,可以在构建项的 Console Output 中查看构建信息

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容