根据机型自动识别适配应用。蒲公英不仅为您提供 7*24 小时不间断内测分发服务,并为您提供专业管理后台
上传应用管理应用高效分发7 * 24 服务用一整套强大的技术构架链接开发、测试、上线的每一个步骤,助您力创更具品质的移动应用。
自动更新Crash 收集摇一摇反馈数据统计无需登录,利用蒲公英提供的接口,开发者可以轻松上传并管理应用,内测分发易如反掌。
发布/更新应用安装应用获取信息修改设置涵盖公有云服务所有核心功能,对接第三方系统的优秀能力,帮助客户解决安全和自控要求高的问题。
专属服务器数据加密自主控制独享云资源扫描二维码,快速获取 UDID
短连接检测证书是否掉签
右键菜单可直接上传应用
使用 Fastlane 插件上传应用
使用 Jenkins 插件上传应用
用日志查看安装失败具体原因
通过 API,轻松管理应用
一行代码,深入追踪内测全程
简单制作自己的应用图标
简单填写信息,即刻完成制作
自动裁切应用图标
3分钟变成丰富多彩的App
苹果 IPA 应用自助打包工具
帮助您上传并管理App
随时随地管理上传应用
帮助您连接整个公司,连接任务、沟通、文档、代码等工作场景为您规划、跟踪和发布卓越的软件。
制定计划跟踪任务看板视图Wiki模拟真实事件的会议,为您的团队提供沉浸式虚拟互动会议体验。
沉浸式体验互动白板穿戴设备支持 多应用场景从数字孪生开始,建立一个丰富的物理或逻辑数学模型,无论是资产还是产品,都能跨越人、地、物及其相互作用。
团队沟通穿戴设备支持 智能安全提升效率蒲公英开发者服务,涵盖测试、 上线、安全等
企业服务行业专家的专业视角、权威解读
扫码关注
蒲公英微信公众号
获取最新动态、官方福利、优惠活动等信息
蒲公英文档中心
注:本文的操作环境在 Mac OS 10.12 中进行。Jenkins 的版本是 2.19.1,fastlane 的版本是 2.28.2
fastlane 是一个快速将 iOS 项目打包成 ipa 文件的工具。要安装 fastlane,请参考 fastlane 在 Github 上的的官方文档,这里我们不再赘述。
在 Mac 环境下,我们需要先安装 JDK,然后在 Jenkins 的官网 下载最新的 war 包。下载完成后,打开终端,进入到 war 包所在目录,执行以下命令:
java -jar jenkins.war --httpPort=8080
待Jenkins启动后,在浏览器页面输入以下地址:
http://localhost:8080
这样就打开Jenkins管理页面了。
注意:使用其他方式安装的 Jenkins 可能导致后续步骤失败,请确认使用我们推荐的方式来安装 Jenkins。
在 Jenkins 中,所有的任务都是以“item”为单位的。接下来我们就新建一个 iOS 的项目来开始自动化构建。点击“新建”,输入 item 的名称,选择“构建一个自由风格的软件项目”,然后点击“OK”。
然后按下图设置构建信息:
源码管理:
这里主要是设置源码的仓库,以便让 Jenkins 知道我们的 iOS 项目的代码在哪里。因为我的代码放在自己搭建的 GitLab 仓库中(如果你用 Github 等其他仓库也是类似),所以要先告诉 Jenkins 如何获取代码。首先,我们需要配置 SSH,我们可以在 Jenkins 的证书管理中添加 SSH。在 Jenkins 管理页面,选择“Credentials”,然后选择“Global credentials (unrestricted)”,点击“Add Credentials”,如下图所示,我们填写自己的 SSH 信息,然后点击“Save”,这样就把 SSH 添加到 Jenkins 的全局域中去了。
接下来,我们再回到刚刚新建的任务中,在源码管理中,选择 Git,按下图填好相关信息。注意:Credentials 不需要选择。
构建触发器设置
因为此教程不涉及自动测试这块的流程,所以不需要设置触发器。
构建环境设置
这里我们是直接用 fastlane 这个工具,所以这里不需要特别设置。fastlane 会自动读取本地 iOS 项目中设置的签名等信息,所以需要保证本地 iOS 工程已经设置好了正确的签名信息和 Provisioning Profiles 等文件,并在 keychain 中已经加入了正确的证书。否则后续的操作中可能会出现错误。如果这里没有设置好,请用 Xcode 打包工程进行相关设置即可。
这一步主要用来打包 ipa 并上传到蒲公英。我们点击“增加构建步骤”,选择 "Execute Shell"。输入下列脚本:
IPANAME="jinkens-myapp"
fastlane gym --export_method ad-hoc --output_name ${IPANAME}
curl -F "file=@${IPANAME}.ipa" -F "uKey=USER_KEY" -F "_api_key=API_KEY" https://qiniu-storage.pgyer.com/apiv1/app/upload
注意:
app-store
、ad-hoc
、development
、enterprise
。对于 Xcode 8.3 以下的版本,则不需要设置 export_method
。设置好之后,类似界面如下所示:
最后点击最下面的 Save 按钮来保存所有设置。这样我们就简单的实现了自动打包,并上传到蒲公英的所有配置了。
接下来,我们可以测试一下。点击项目页面左侧的 Build Now,我们可以看到项目已经开始构建。在 Console Output 中,我们可以看到项目已经成功构建,并自动上传到了蒲公英。
Started by user root
Building in workspace /Users/rexshi/.jenkins/workspace/monitor
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url http://git.xxx.com/root/monitor.git # timeout=10
.......
[15:03:28]: $ xcodebuild -list -project ./monitor.xcodeproj
[15:03:30]: $ xcodebuild clean -showBuildSettings -scheme monitor -project ./monitor.xcodeproj
[15:03:32]: Building monitor/monitor [Release]
[15:03:32]: Check Dependencies
[15:03:32]: Compiling AppDelegate.m
[15:03:33]: Compiling main.m
[15:03:38]: Touching monitor.app
......
[15:03:41]: Successfully exported and compressed dSYM file
[15:03:41]: Successfully exported and signed the ipa file:
[15:03:41]: /Users/rexshi/.jenkins/workspace/monitor/jinkens-myapp.ipa
+ curl -F file=@jinkens-myapp.ipa -F uKey=4a5bc52e6763795e18b69bd82dd23xxx -F _api_key=7f158b3d9063c73cd68f0ee40215xxxx https://qiniu-storage.pgyer.com/apiv1/app/upload
{"code":0,"message":"","data":{"appKey":"602979def164c47b9570f17656a4fxxxx","userKey":"4a5bc52e6763795e18b69bd82dd23xxx","appType":"1","appIsLastest":"1"
......
Finished: SUCCESS
如果你只是想满足基本都持续集成,那么看到这里就可以了。但是,如果你想有一些更丰富的定制化功能,可以继续往下看。
上传到蒲公英时设置更新说明、访问密码
这里,假如我们想让 ipa 文件上传到蒲公英后,将 git 上最后一次提交的注释设置为蒲公英的更新说明,并且设置访问密码为 123456
,那么可以将上面最后一步时的 shell 程序改成这样:
IPANAME="jinkens-myapp"
fastlane gym --export_method ad-hoc --output_name ${IPANAME}
MSG=`git log -1 --pretty=%B`
PASSWORD=123456
curl -F "file=@${IPANAME}.ipa" -F "uKey=USER_KEY" -F "_api_key=API_KEY" -F "updateDescription=${MSG}" -F "password=${PASSWORD}" https://qiniu-storage.pgyer.com/apiv1/app/upload
ipa 文件上传到蒲公英后通知其他人
如果开发者想让 jenkins 打包并上传 ipa 文件到蒲公英后,自动通知其他人(常用于通知 App 相关的测试者),那么可以利用蒲公英的通知功能。蒲公英本身已经支持了邮件通知、短信通知、微信通知。具体设置方法可以点击这里查看:接收应用更新通知
出现 fastlane: command not found 怎么办?
解决方法一:这个情况一般是由于 jenkins 没有设置正确的 $PATH 环境变量导致的。正确设置的方法为:
echo $PATH
,记录下输出的结果系统管理
-系统设置
中,找到 环境变量(Environment variables)
PATH
,在 value 中填写第一步中输出的结果解决方法二:请确认您安装 Jenkins 的方式和我们在本文里推荐的方式一致。使用其他方式安装的 Jenkins 也经常会出现此问题。
支付成功
蒲公英 VIP 用户群
请打开微信 — 扫一扫,加入群聊