mac os下 用 jenkins 实现ios自动化打包 上传到 fir

背景:每次测试都需要人工打包,是在繁琐及浪费时间,于是就尝试实现自动化打包。

1、安装jdk,已安装了,请忽略,点此下载jdk

图1

2、下载  安装  Jenkins 下载 

3、安装完后打开 http://localhost:8080/   后需要输入密码。

获取密码:  密码地址在

/Users/Shared/Jenkins/Home/secrets/initialAdminPassword

可能无权限打开文件,设置成只读权限就可以了。拷贝内容输入图2框中


图2

4、进入后安装默认插件即可。

5、之后 如 图3创建用户

图3

以上步骤完成,恭喜你可以开始使用了 jenkins了。

接下来说 jenkins的使用

6、安装插件

因为我们用的是GitLab来管理源代码,Jenkins本身并没有自带GitLab插件,所以我们需要依次选择 系统管理->管理插件,在“可选插件”中选中“GitLab Plugin”和“Gitlab Hook Plugin”这两项,然后安装。

安装Xcode插件

同安装GitLab插件的步骤一样,我们依次选择系统管理->管理插件,在“可选插件”中选中“Xcode integration”安装。

安装 Keychains and Provisioning Profiles Management插件

系统管理->管理插件->可选插件  。

7、配置ssh key    aaa@gmail.com  是git仓库账号

$ ssh-keygen -t rsa -C “aaa@gmail.com”

中间会问你要设置私钥的密码,直接敲回车即可,可以不用设置密码。

最后得到了两个文件:id_rsa和id_rsa.pub

在gitlab上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。

进入到目录

cd /Users/你的名字/.ssh

插看内容

cat id_rsa.pub


图4--涂掉的是邮箱地址

注意:全部内容都要要拷贝上

私钥部分:命令  cat id_rsa  是私钥内容,如图5

图5

8、先在gitlab上找到token  如图6,不同版本可能不一样,但是里面一定有,找一找。找到后copy。


图6

然后再jenkins 主界面下如图7,点击  Credentials—System  然后点击右侧  Global credentials (unrestricted)


图7

然后进入如图8界面。 再点击 Add Credentials

图8

进入到 如图9 这个页面来进行配置

图9

至此 token 已设置完毕。

还是此页面,新增一个,做如图10配置,私钥在第7步已经生成

图10

9、git  链接路径配置

先如图11,进入系统设置

图11

进入后找到gitlab,如图12

图12

10、项目创建  如图13

图13

11、然后进行设置项目

首先选择git链接路径  如图14

图14

第二设置源码,如图15

图15

gitlab 里获取ssh 链接copy,粘贴到上图  Repository URL 地方。如图16

图16

第三步 配置证书和provisoning

进入主页面点击系统管理找到如图17配置,点击进入(先确定自己是否安装了该插件)


图17

注意这里需要导入的是 login.keychain和Provisioning Profiles 如图18

图18

这个Keychain其实在~/Library/keychains/login.keychain(finder->shift+cmd+g  输入路径),当把这个Keychain设置好了之后,Jenkins会把这个Keychain拷贝到/Users/Shared/Jenkins/Library/keychains这里,(Library是隐藏文件,另注意,如果是login.keychain-db 那就拷贝 不需要改名字)。Provisioning Profiles文件需要拷贝到/Users/Shared/Jenkins/Library/MobileDevice文件目录下。(注意文件名和序列号一致)

Mac os 10.12没有login.keychain文件,将login.keychain-db  后缀修改成login.keychain。

设置code signing 名字。可以在钥匙串里找出该名字,如图19

图19

设置 Provisioning Profiles(开发者中心下载)如图20

图20

注意:如果您的项目是选择了automatically。如图21

图21

那么描述文件需要单独生成。生成步骤

1> 先将自己xcode 里的  Provisioning Profiles  文件备份(路径  /Users/xxxxx/Library/MobileDevice/Provisioning Profiles          xxxxx  你用户的名字)

2> 选中 automatically ,成功运行下项目, 此时  build settings 里的 Code Signing Identity  和 Provisioning Profile      xcode运行时并未用到。

3>再次进入/Users/xxxxx/Library/MobileDevice/Provisioning Profiles  目录,发现出现了一个Provisioning Profile  拷贝出来。

4>然后在jenkins 添加该 Provisioning Profile 文件。


第四步  设置 开发组(如果 是xocde 8 及以上的需要)

进入系统设置。如图22

图22

设置 Xcode Bullder,如图23


图23

Team Name 和Team ID 可以在钥匙串里找到证书,然后右键->显示简介  ,组织单位  内容填到  Team ID ,组织 内容填到Team Name  如图24-1

图24-1

另外,设置keychanin,如图 24-2,密码是开机密码, 路径 /Users/Shared/Jenkins/Library/Keychains/login.keychain  自己将文件复制到该路径。

图24-2


第五步  到我们刚才创建的项目配置里,找到构建环境,按下图选好自己的相关证书和描述文件。,如  图25  图26

图25


图26

第六步  添加  构建 -> 选择 Xcode

图27 这几个setting 需要设置下


图27

1> General build settings

Target 内容,(在命令行里 在项目目录下  执行命令    xcodebuild  -list )就可以看到自己的Target。 如图28、29

图28
图29

2>Code signing & OS X keychain options  如图30

图30

3> Advanced Xcode build options  设置,如图30、31

图30
图31

以上操作完,你就已经可以正常生成ipa包了。您可以试试。

如果遇到 错误  The project named " " does not contain a scheme named " ".

解决办法 如图进入schemes  管理,选中  Shared即可。 如图 32、33


图32
图33

12、上传 fir

首先给jenkins装上插件,参考fir jenkins插件 帮助 

然后进入jenkins 刚才的工程 进行配置—增加构建后操作步骤,如图34、35


图34


35

填写 token即可,如何获取 ——进入fir官网登陆 然后如图36

图36

以上步骤操作完成,恭喜您,已经可以自动化打包了。

希望以上能帮到你,如有问题请留言。

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

推荐阅读更多精彩内容