Jenkins+Xcode实现自动打包 下

1、安装Homebrew,Homebrew 是Mac系统的包管理器,用于安装一些其他必需的工具软件,比如NodeJS,Jenkins等。已经安装的请略过。

本文使用的Homebrew 1.3.5,使用命令$ brew --version查看。

2、安装Jenkins,

在终端执行

$ brew install Jenkins

Jenkins需要Java环境,请确保已经集成Java环境,安装不成功请移步百度。


安装Jenkins

安装成功之后切换到Jenkins目录,启动

$ cd /usr/local/Cellar/jenkins/2.84/libexec

$  java -jar ./jenkins.war     (也可以使用$ jenkins进行启动,前者可以设置端口号$ java -jar jenkins.war --httpPort=8888 )

控制台会打印一些内容

控制台 启动Jenkins

上图红线上方有一句话 ,

Please use the following password to proceed to installation:

因此打开http://localhost:8080,输入密码继续安装。

打开http://localhost:8080,输入密码

选择install selected plugins之后

选择install plugins之后


安装成功之后会让你注册

注册Jenkins

注册成功之后

注册成功

跳转下图所示界面

安装启动到此为止

或者直接使用$ jenkins启动,出现下图说明启动成功

启动成功

3、配置Jenkins

①安装需要用到的插件

系统管理->插件管理->可选插件  搜索Git plugin、GitHub Organization Folder PluginXcode integrationKeychains and Provisioning Profiles Management安装

以上分别是Git插件,Xcode插件,证书管理插件,还可以根据需要安装命令行插件。

安装成功之后重启Jenkins。

②配置证书

系统管理-> Keychains and Provisioning Provisioning Management

打开/Users/{用户名}/Library/Keychains/目录选择login.keychain文件点击upload

Code Signing Identity :配置打包要用的证书。

Provisioning Profiles Directory Path:/Users/{用户名}/Library/MobileDevice/Provisioning  Profiles/

点击选择文件,选择Provisioning Profiles Directory Path路径下的文件,upload。会加载上传的provisioningprofile文件

配置钥匙串与Provisioning  Profiles


③系统设置

系统管理->系统设置->Xcode builder

系统设置


④新建项目

回到首页,选择新建,创建一个自由风格的软件

新建项目

⑤配置项目

填写项目名称

填写项目名称与地址

源码管理

Repository URL :仓库地址

Credentials: 选择高级 设置好Git的账户密码之后,这里选择设置好的账号密码。

Branches to build:默认指定主分支

源码管理

构建触发器

Build periodically (定时build):设置每天23点build

Poll SCM (poll source code management)  轮询源码管理

需要设置源码的路径才能起到轮询的效果。一般设置为类似结果: 0/5每5分钟轮询一次

构建触发器

构建

选择Xcode构建
基本配置
导出包的格式与位置
钥匙串

使用cocoapods管理项目的需要如下配置

Xcode workspace file:{项目名}.xcworkspace文件位置

cocoapods项目配置

保存之后,选择立即构建,

构建结果
归档成功后生成的文件

哎呀呀,失败了,点进去查看下日志。

"Error Domain=IDEProvisioningErrorDomain Code=9 \"\"Test8.app\" requires a provisioning profile.\" UserInfo={NSLocalizedDescription=\"Test8.app\" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the \"provisioningProfiles\" dictionary in your Export Options property list.}"

)}

error: exportArchive: "Test8.app" requires a provisioning profile.

Error Domain=IDEProvisioningErrorDomain Code=9 ""Test8.app" requires a provisioning profile." UserInfo={NSLocalizedDescription="Test8.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}

** EXPORT FAILED **

需要在导出plist文件(也就是上图中development86xxxxxPPExport.plist)中添加provisioningProfiles属性。先不要修改plist,因为这个文件是根据我们构建的时候填写的参数自动生成的。

其实这个这个问题是Jenkins版本与Xcode版本不对应造成的。

使用sudo xcode-select -switch /Applications/Xcode8.3.app切换到Xcode8.3,

立即构建->成功啦。

构建成功

那么问题来了,由于swift版本的问题,公司的项目只能在Xcode8.2上运行,其他Xcode构建会失败。

怎么办呢,使用万能的命令行吧,想怎么样就怎么样。不用考虑Jenkins版本问题。

只需要在构建的时候选择Execute shell  自动构建命令

Execute shell

到此,大家赶紧给自己的项目配置下自动打包环境吧。

ad-hoc

修改export method,但是从日志中查看,签名依然使用的开发证书。

是因为Xcode自动管理管理证书,signing certificate 使用的是开发证书,如果需要指定证书打包,那么取消自动管理。

自动管理签名

很有用

还有一个很实用的东西--构建后操作

构建成功后可以邮件通知相关人员,还可以钉钉通知,具体操作请百度。

构建后操作

以上就是全部内容。希望对大家有帮助,写的不对的地方,还请批评指正。

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

推荐阅读更多精彩内容