搭建JENKINS+IOS持续集成遇到的坑与解决方案

个人网站 搭建JENKINS+IOS持续集成遇到的坑与解决方案

本文并不是jenkins安装使用教程,百度,Google已有相当多此类文章,有兴趣的朋友可自行搜索,本文只是记录笔者在安装与使用过程中踩过的坑。

JDK版本兼容

搭建Java环境与安装Jenkins的时候要注意当前Jenkins版本支持的JDK版本,笔者一开始下载的是JDK12,结果搭建Jenkins的时候一直提示无法连接localhost,排查很久才发现是JDK12不兼容当前Jenkins版本。
于是从头再来

插件无法安装

在成功连接localhost:8080并且成功输入密码之后会提示安装插件,笔者在这一步会一直提示无法找到某个文件

DraggedImage.1b2e659dcd454fa6b7d2e8ca87c0b725.png

在尝试网上各种解决教程之后依然无法解决,这里笔者选择了不安装任何插件直接进入下一步,居然成功了!

当然后续需要在系统设置的插件管理中把常用的插件手动安装一下。

文件夹位置

在诸多教程中,会要求在~/Library/Keychains复制文件到到jenkins所在文件夹中,不同的教程可能所要求复制的位置不同,着实让人困惑,那复制在不同的位置这有影响吗?

没有。其实Jenkins是用在我们的电脑中创建了一个新用户,复制KeyChains只是让Jenkins这个用户享有与原本用户的一样钥匙串而已。

记得在系统设置中的Keychains and Provisioning Profiles Management中上传keychain文件即可。 不然项目编译时会提示找不到证书。

XCODE INTEGRATION

如果Xcode已经升级到9以上,那么关于在Jenkins中使用Xcode插件构建的步骤教程都可忽略。
一致使用shell脚本自动打包。

XCODEBUILD

关于Xcodebuild的教程网上也有很多。笔者在使用shell脚本自动打包的时候,发现在外部使用脚本可以打包成功,在Jenkins中会报错,其中报错为

app: errSecInternalComponent
Command /usr/bin/codesign failed with exit code 1

** BUILD FAILED **

搜索了一些教程后找到解决方案:
在build之前加上以下一段脚本

security unlock-keychain -p "login pwd" ~/Library/Keychains/login.keychain

权限问题

如果提示报错权限问题,可以打开文件夹所在位置,修改其文件夹管理者读写权限。


DraggedImage.9500e384fd3f443b9bee4d7e39d4a62e.png

总结

如同网上所说,搭建Jenkins与技术没有直接联系,它更需要你耐心地了解每个步骤,冷静地解决问题与反复的尝试

终于在搭建了55次之后成功了!

你可能感兴趣的:(搭建JENKINS+IOS持续集成遇到的坑与解决方案)