Jenkins 持续集成

定义

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能发生多次集成,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

原因

  1. 减少分享
  2. 较少重复过程
  3. 任何时间、任何地点生成可部署的软件
  4. 增强项目的可见性

常见的持续集成工具

  1. Jenkins CI
  2. Travis CI
  3. Hudson CI
  4. Circle CI

目前持续集成工具很多,也看了很多前辈们关于持续集成的文章,考虑到成熟与稳定,还是选择Jenkins CI作为iOS的持续集成工具。

集成背景

公司App比较多,为了方便测试人员安装测试与AppStore上传,配置Jenkins自动化打包上传

软件版本

  1. Xcode:11.2.1
  2. Jenkins:2.222
  3. Ruby:2.6.3
  4. Java:1.8.0_212

给出对应的版本,是因为配置Jenkins,有些参数配置操作需要Jenkins与Xcode版本对应,也就是为什么看了前辈们的文章中配置流程,我们配置后还是不能集成成功,一是我们理解不足,二是版本不对应,毕竟我们正在使用的版本跟前辈们当时配置的版本不一样

安装Jenkins

安装方式:

  1. 使用homebrew安装
  2. 直接到官网下载安装包安装

本人采用安装包方式安装

  1. jave环境下载
  2. jenkins安装下载
    傻瓜式点击继续即可
    浏览器输入http://localhost:8080/,显示jenkins页面

jenkins默认端口号为:8080,如果端口冲突,可修改端口号:
终端cd到war包所在目录,执行命令java -jar jenkins.war --httpPort=8888
httpPort指的就是Jenkins所使用的的端口号

  1. 获取管理员密码
    解锁Jenkins页面,会出现初始密码文件路径,复制
    终端sudo cat <密码文件路径>,即可获取初始化密码
  2. 安装推荐插件
    建议选择左侧的,安装推荐插件即可
    一般会有些插件安装失败,也没关系,等进入Jenkins后还可以把有需要的插件重新安装
  3. 注册管理员账号
  4. 进入Jenkins管理页面
  5. 安装必要插件
  1. gitLab Plugin
  2. gitLab Hook Plugin
  3. Xcode integration
  4. keychains and provisioning profiles Management
  5. CocoaPods Jenkins Integration
  6. build Timeout
  7. description setter plugin
  8. Email Extension Plugin
  9. SSH Agent Plugin
  10. workSpace Cleanup Plugin
  11. fir-Plugin
  12. Upload to pgyer

授人以鱼不如授人以渔,其他的插件,根据个人需要再安装

其中有些插件在上面搜不到,只能自己去下载,再高级上传插件,比如fir-Plugin(提取码:aghm




  1. 启动,关闭,重启

安装插件完成需要重启,Jenkins可以设置自动重启,也可以手动重启

  1. 启动:终端brew services start jenkins,在浏览器打开http://localhost:8080
  2. 关闭:终端brew services stop jenkins
  3. 重启:网址后面加上restart,http://localhost:8080/restart

结束语

Jenkins安装,步骤介绍得比较简洁,关键步骤也做了相应的截图,希望能帮助到大家,iOS的自动化打包上传,可以继续看本人后续文章,如有发现不妥的地方,也希望在评论区告诉我,谢谢💪

文章参考

  1. https://www.jianshu.com/p/5af631ba513d
  2. https://www.jianshu.com/p/0424b4a18903
  3. https://www.jianshu.com/p/03428288e657?from=timeline
  4. https://www.jianshu.com/p/c69deb29720d
  5. https://www.jianshu.com/p/0a113f754c09
  6. https://www.jianshu.com/p/5f671aca2b5a
  7. https://www.jianshu.com/p/f445983512b7
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容