Xcode + cocoapods + jenkins + fastlane + git + 蒲公英自动化打包 上传
构建自动化步骤为:
1. Xcode 有Xcode 内部提供的打包命令来打包完成代码的编译和证书签名到最后打包。
2. cocoapods 也是依赖 Xcode 来完成项目包管理的构建
3. Jenkins 这里主要用到 Jenkins 两个目的第一是 git 监听 第二个是邮件发送 后面做了安卓的自动化打包和java 的自动化打包构建 都是在一个上面管理并不需要写太多的代码 主要是节省编码时间
4. fastlane 这个工具可以完成上面所有的工作 但是这里我只是用到了证书管理和自动化打包 当然安卓的打包也是由他来完成 这里也是为什么又要用到它
5. Git 用来做项目管理
(由于时间有限自动化配置匆忙之中花了三天的时间看文档到完成部署这个博客也是在查文档的时候匆忙记录中整理的哪里不懂或者有错请指正!谢谢合作)
Jenkins
一. 什么是 Jenkins?
- 持续的软件发布/测试项目,节省重复耗时工作让我们更加专注与项目的开发和业务的处理
- 监听外部调用执行工作,自动化处理我们的重复工作。
- Jenkins 作为一个持续集成的简单 CI 服务的连续交付中心任何项目都可以使用。
二. Jenkins 的优点有哪些
- 简单配置(这个对于 Xcode 并不是很友好这也是为什么要使用 Jenkins 和 fastlane 配合使用的一个原因)
- 跨平台 由于是 Java 语言的工作站所以在主流的三大操作系统上都能兼容
- 丰富的插件可以扩展性非常好
- 分布式可以在多台机器和跨平台构建和测试部署
三. 安装和使用
这里主要讲 mac 端的安装如果有其他需要请参考Jenkins官网
下载并运行 Jenkins(这里之前说过了由于是 Java 语言编写所以请先安装 Java 环境 Java 下载)
- 下载詹金斯。
- 在下载目录中打开一个终端。
- 运行java -jar jenkins.war --httpPort=8080。
- 浏览至http://localhost:8080。
- 由于都是中文按照说明完成安装就好了,到这里 Jenkins 就已经安装完成了。所有的配置什么的都已经不需要了 到此处就已经可以了!
-
新建一个项目
Fastlane
什么是 Fastlane?
一. fastlane是为iOS和Android应用程序自动化测试版部署和发布的最简单方法。它处理所有繁琐的任务,例如生成屏幕截图,处理代码签名以及发布应用程序。
二. 我认为 Fastlane 就是整合了一系列的工具的来完成自动化工具的工具!
首先确认最新版的 Xcode 命令行工具是否安装 打开终端输入
xcode-select --install
安装 Fastlane
[sudo] gem install fastlane -NV
当然也可以使用brew cask install fastlane
来安装-
一切顺利的话就直接 cd 切换到当前项目目录中就像我们使用 cocoapods 一样首先进行初始化
fastlane init
按照提示会询问你是选择哪种方式这里先选择用
4
自定义一路走下去就可以最后会提示你成功了这里先介绍怎么样来进行签名不然后面会一直提示签名失败
-
首先输入
fastlane match development
这里会提示你输入 git 的一个项目路径 用来保存你的代码签名 最好是私有库。 依次输入账号,当然这里有还有另外的三种fastlane match appstore``fastlane match adhoc``fastlane match enterprise
这里面有一个成功的就可以去git 上去看看里面上传的事什么东西了 (注意:这里有个前提就是 Bundle Identifier 要在开发者账号里面注册)
-
编辑
Fastfile
-
运行
fastlane beta
-
当然这里还要最后一步就是配置到自动提交到蒲公英上去其实也很简单 添加插件
fastlane add_plugin pgyer
在本地测试完毕 然后提交代码 到远程仓库去 Jenkins点击立即构建
生成这样的结果就 OK了 配置成功!