iOS Fastlane自动构建打包、发布、部署jenkins
整理时间:2017年05月02日13:03:16
注:
1. 均在Xcode8以后环境,Xcode8以前是否适用有待你们自行测试,如果测试了有问题,请留言评论
2. 所有操作均在iTerm2里完成,iTerm2和终端差不多,不过个人习惯,如果对其感兴趣的,可以看我关于iTerm2的文档
1.安装fastlane
1.打开iTerm2,键入以下命令
sudo gem install fastlane -n /usr/local/bin
2.确保Xcode安装了最新版本的命令行工具
➜ ~ xcode-select --install
3.如果你的fastlane加载缓慢,请尝试运行
➜ ~ gem cleanup
2.安装fir
1.打开iTerm2,键入以下命令
➜ ~ sudo gem install firim -n /usr/local/bin
2.使用系统自带的 Ruby 安装, 需确保 ruby-dev 已被正确的安装
➜ ~ xcode -select --install
3.开始操作项目(注:如果要发布到其他平台,只需配置相应的API Token,这里只拿fir做讲解举例)
1.进入项目,如图所示
2.执行fastlane init注意事项
中间会让让你按提示输入苹果开发者的账号、密码,只有苹果开发者账号才可以,普通的苹果账号是不可以继续操作的
3.执行完fastlane init后
项目的根目录会生成fastlane文件夹,里面有fastlane的配置文件,一般一个是AppFile文件,一个是Fastlane文件
AppFile:保存苹果开发者的相关信息,项目的相关信息等
Fastlane:运行脚本
4.编辑Fastlane文件
注:fastlane文件里面默认的配置信息已经足够了,但是也有其他的相关需求,如果想完成一般需求,请清空这个文件,将下面的配置文件复制并粘贴到相关位置
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
platform :ios do
desc "Test app"
lane :adhocR do
increment_build_number_in_plist(target: 'Test')
xcode_select "/Applications/Xcode.app"
gym(
silent: true,
clean: true,
workspace: "Test.xcworkspace",
scheme: "Test",
include_bitcode: false,
include_symbols: false,
export_method: "ad-hoc",
output_directory: "./fastlane/build/adhocR",
output_name: "Test_adHocR")
firim(
firim_api_token: "396e097bb4b88b012474fcc7c0XXXXXX")
end
lane :adhocD do
increment_build_number_in_plist(target: 'Test')
xcode_select "/Applications/Xcode.app"
gym(
silent: true,
clean: true,
workspace: "Test.xcworkspace",
scheme: "Test",
include_bitcode: false,
include_symbols: false,
export_method: "ad-hoc",
output_directory: "./fastlane/build/adhocD",
output_name: "Test_adHocD")
pgyer(
api_key: "215930df29d28b3b383ce3b45dbXXXXX",
user_key: "68413ffb92d28a126729c6537aaXXXXX")
end
end
注:我说的指定的打包输出方式,你们可能不明白,从这张图,就好明白很多了
ipa导出方式图中自上而下分别为:
app-store
ad-hoc
enterprise
development
5.申请fir账号,并获得api token
访问https://fir.im/ , 并注册账号,获取APIToken,APIToken如图所示
6.将获取到的APIToken置换到fastlane文件中
3.运行
1.打开iTerm2,cd到工程目录,如图所示
进入工程目录2.执行fastlane ios ci命令,如图所示
执行fastlane脚本3.编译完成,自动上传到fir,如图所示
4.到fir网站,查看自己上传的app
进入fir网站查看测试app4.安装并部署Jenkins
1.下载Jenkins.war包
点击这个链接 http://mirrors.jenkins.io/war-stable/latest/jenkins.war , 下载最新的Jenkins.war包
2.cd到下载Jenkins.war目录,执行下面的命令, 如图所示
java -jar jenkins.war
运行jenkins3.执行完后,在浏览器输入localhost:8080
4.弹出Jenkins安装界面,会让你输入安全密码,这个密码会在安装提示界面有,让你输入这个密码,选择默认安装
5.然后新建管理员用户密码
6.下次启动Jenkins, iTerm2输入下面的命令
➜ ~ java -jar /Applications/Jenkins/jenkins.war –httpPort=8080
7.关闭Jenkins,iTerm2输入下面的命令
➜ ~ ps
// 这里是显示占用的端口,你只要输入ps查看端口号就好了
PID TTY TIME CMD
12706 ttys000 0:33.17 /usr/bin/java -jar jenkins.war –httpPort=8080
// 杀死12706进程
➜ ~ kill -9 12706
8.注意:启动后ITerm2窗口不要关闭,否则会失去连接
9.所有的都配置完了之后的页面
10.配置Jenkins SSH,如图所示
Credentials -> System -> Add domain
配置SSH步骤1之后会弹出下图所示的内容,之后请接11
配置SSH步骤211.私钥与公钥
➜ ~ ssh-keygen -t rsa -C "hsuyelin@163.com"
按照提示操作,遇到密码,请输入密码
然后,执行下面的操作
➜ ~ open .ssh
会打开盛放公钥与私钥的文件夹,里面有两个文件,一个是id_rsa(私钥),一个是id_rsa.pub(公钥)
打开公钥,复制里面所有的内容填入托管平台的SSH处,打开私钥,复制里面所有的内容按下图要求填写
12.新建任务
点击新建,按照如图所示配置
13.构建任务
点击立即构建
构建控制台
构建过程14.注意
1)构建尽量保证完整提交
2)如果想构建其他分支,在任务配置中,修改分支