移动测试基础 iOS App 自动化打包 (Jenkins + Fastlane + Git + 蒲公英)

字节 · November 24, 2017 · 4186 hits

A.Mac下fastlane安装
1.安装前准备:
①准备一台Mac电脑,iOS项目必须在Mac系统才能打包,系统要求(OS X 10以上);
②安装Xcode开发工具,iOS项目必须使用xcode工具才能打包;
③一个$99苹果开发者账号;
④本机下项目的苹果开发者证书配置(找开发童鞋帮忙);
⑤Ruby版本必须要2.0以上;
⑤会一些基本的Linux命令(建议);

2.环境配置:
这里主要是检查或者更新Ruby版本或者安装Ruby;
①检查Ruby版本,需要2.0及以上版本。在终端输入以下命令确认:ruby -v

②如果版本过低,则需要更新Ruby版本:
curl -L get.rvm.io | bash -s stable #安装rvm(Ruby的一个命令行工具)
rvm -v #测试是否安装正常
rvm list known #列出已知ruby版本
rvm install ruby-xxxxx #安装一个最新ruby版本 注:此处xxxxx为list中的最新版本号
rvm use xxxxx --default #切换到最新版本
rvm remove xxxxx #卸载旧版本

③切换Ruby源(taobao源)
gem sources #查看gem源

gem sources --remove https://rubygems.org/ #删除默认的gem源
gem sources -a https://ruby.taobao.org/ # 增加taobao作为gem源
gem sources # 查看当前的gem源

④ 安装xcode-select命令行工具:
xcode-select --install (如果没有安装会进行安装。如果已经安装了则会报错)

3.安装fastlane:
sudo gem install fastlane --verbose #安装Fastlane
sudo gem install -n /usr/local/bin fastlane #可能会安装失败,则改用此命令安装
fastlane --version #查看Fastlane 版本检测是否安装成功
sudo gem update fastlane #更新fastlane版本

B.Mac下jenkins搭建和配置
1.安装前准备:
①安装jdk1.8,并配置环境变量;
②在 Jenkins 的官网(https://jenkins.io/ ) 下载最新的 war 包;
(注意:使用其他方式安装的 Jenkins 可能导致后续步骤失败,强烈t推荐使用该方式来安装 Jenkins。)

2.安装jenkins:

①终端输入命令:java -jar jenkins.war --httpPort=8080,安装和启动都是该命令;
②安装成功后,打开默认的访问地址:http://localhost:8080
③初次访问jenkins,需要输入admin的密码和初始化;
④密码可以在\Jenkins\secrets\Jenkins\secrets\initialAdminPassword查看;
⑤初始化,其实安装jenkins插件的步骤,建议选择“select plugins to install”;
⑥Jenkins常用插件:svn插件(Subversion Plug-in)、git插件(GIT plugin)、Gradle插件(Gradle plugin) 、Xcode插件(Xcode integration) 、安卓插件 (Android Lint Plugin\Android Emulator Plugin)、界面美化插件(Ocean Blue)、多项目插件(Multiple SCMs)、邮件插件(EMail Extension Plugin)

3.Jenkins系统配置:
①环境变量配置: (确保不出现 fastlane: command not found )
在终端命令行下执行 echo $PATH,记录下输出的结果
在 jenkins 中系统管理-系统设置中,找到 环境变量(Environment variables)
在 key 中填写 PATH,在 value 中填写第一步中输出的结果,保存即可。

②Git访问配置:
1.配置git host 域名,终端输入:ssh-keygen -t rsa -C "sysionwxj@sysion.com"
(这样生成了一对密钥,存放在用户目录的~/.ssh下。公钥文件 id_rsa.pub,私钥文件id_rsa
要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效)
2.ssh-add id_rsa (此处为了防止用 Git 拉取代码时,每次都需要输入 passphrase)
3把公钥配置到git的服务器,cat ~/.ssh/id_rsa.pub
4.把私钥配置到Jenkins,cat ~/.ssh/id_rsa

C.Mac-具体iOS项目打包
1.源码管理:

①git(Credentials)配置;
②Git地址、分支、选择Credentials:
具体项目git地址:Repository URL:git@*******************.git、 Branch Specifier:/develop

2.fastlane配置:
①保存返回,点击立即构建,拉取代码;
②打开终端,切换目录到包含xxx.xcodeproj的项目目录下输入fastlane init,期间会让输入Apple ID(开发者账号)及app_identifier(ios_iphone_parents)等信息,可以根据需要自行选择填写。最后会在当前目录下生成fastlane文件夹;
③在终端中,输入命令:fastlane add_plugin pgyer,即可安装蒲公英的 fastlane 插件;
④在项目目录下,并打开 Fastlane 的配置文件(一般在 fastlane/Fastfile),修改配置文件Fastfile;
desc "Build a new version use the ceshi"
lane :ceshi do |op|
increment_version_number(version_number: op[:version])
increment_build_number(build_number: op[:version])

set_info_plist_value(path: “ios_iphone_parents copy-Info.plist",
key: "UIFileSharingEnabled",
value: true)

# 将Development版本的.mobileprovision文件保存在里面,名称随意。
# update_project_provisioning(profile: "./provisions/development.mobileprovision")

gym(
output_name: "ios_iphone_parents",
silent: true,
clean: true,
configuration: "Debug",
export_method:"development",

buildlog_path: "fastlanelog",
scheme: "ios_iphone_parents",

# codesigning_identity: "iPhone Developer:rongwei pan(UMTA72YL74)",
output_directory: "outputs"
)
pgyer(
api_key:“*****************”,
user_key:“*************”
)
end

⑤返回到项目录下,输入命令:fastlane ceshi,进行打包;
⑥测试打包成功后,回到Jenkins继续进行构建配置;

3.构建触发器:
①Build periodically:定时检查源码变更,如果有更新就checkout最新code下来,然后执行构建工作
②Poll SCM:周期进行项目构建(它不care源码是否发生变化)

4.构建配置 :
①构建-选择 Excute Windows batch command:(填写以下命令)
cd ios_iphone_parents1.0 (此处路径表示jenkins下项目根目录)
fastlane ceshi

5.邮件通知配置:
①选择构建后操作-E-mail Notification;
②直接填写收件人地址,多个收件人中间以空格隔开

备注:
pgyer(
api_key:“*****************”,
user_key:“*************”
)
其中user_key、_api_key,注册的蒲公英账号,提供了唯一的user_key、api_key(姓名-账户设置-API信息中查询)
附上蒲公英的地址以及api
https://www.pgyer.com
https://www.pgyer.com/doc

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up