自动化打包之fastlane–(1) 研究之必须提前了解的几点
自动化打包之fastlane–(2) fastlane init图文教程
自动化打包之fastlane–(3) 安装fir插件图文教程
1. rvm
- RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。
- 就是方便管理Ruby的
- 如何安装rvm
//亲测,这个命令是很好用的,可以很快安装rvm
curl -L https://get.rvm.io | bash -s stable
zhouyudeMacBook-Pro:~ zhouyu$ curl -L https://get.rvm.io | bash -s stable
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 194 100 194 0 0 203 0 --:--:-- --:--:-- --:--:-- 202
100 24361 100 24361 0 0 16771 0 0:00:01 0:00:01 --:--:-- 16771
Downloading https://github.com/rvm/rvm/archive/1.29.3.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.3/1.29.3.tar.gz.asc
Found PGP signature at: 'https://github.com/rvm/rvm/releases/download/1.29.3/1.29.3.tar.gz.asc',
but no GPG software exists to validate it, skipping.
Installing RVM to /Users/zhouyu/.rvm/
Adding rvm PATH line to /Users/zhouyu/.profile /Users/zhouyu/.mkshrc /Users/zhouyu/.bashrc /Users/zhouyu/.zshrc.
Adding rvm loading line to /Users/zhouyu/.profile /Users/zhouyu/.bash_profile /Users/zhouyu/.zlogin.
Installation of RVM in /Users/zhouyu/.rvm/ is almost complete:
* To start using RVM you need to run `source /Users/zhouyu/.rvm/scripts/rvm`
in all your open shell windows, in rare cases you need to reopen all shell windows.
- 切换到rvm环境
//安装不对时,不安装rvm下面两个路径找不到
source ~/.bashrc
source ~/.bash_profile
- 设置环境变量,fastlane需要设置一些环境变量才能正确运行,如果当前的语言环境没有设置为UTF-8,会导致构建和上传的时候出现问题。
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
//查看rvm版本
rvm -v
rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
如何删除rvm
终端中键入:
rvm implode
删除命令最后的输出:表示成功了
为了保险起见还需要执行(自己的Users目录中删除)下面的命令
cd ~ ; sudo rm -rf .rvm .rvmrc /etc/rvmrc ;gem uninstall rvm
关于ruby安装git(或别网站)的安装包的443port错误(用homebrew做事例)Failed to connect to raw.github.com port 443:
2. ruby
- 是一门与perl,python类似的脚本语言,与rails框架结合起来用
- fastlane是用Ruby语言编写的一套自动化工具集和框架,每一个工具实际都对应一个Ruby脚本,用来执行某一个特定的任务,而fastlane核心框架则允许使用者通过类似配置文件的形式,将不同的工具有机而灵活的结合在一起,从而形成一个个完整的自动化流程
- mac电脑自带ruby,也可以自己安装
查看ruby的版本
rvm list known
zhouyudeMacBook-Pro:~ zhouyu$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head
# for forks use: rvm install ruby-head-<name> --url https://github.com/github/ruby.git --branch 2.2
# JRuby
jruby-1.6[.8]
jruby-1.7[.27]
jruby[-9.1.13.0]
jruby-head
# Rubinius
rbx-1[.4.3]
rbx-2.3[.0]
rbx-2.4[.1]
rbx-2[.5.8]
rbx-3[.84]
rbx-head
# Opal
opal
# Minimalistic ruby implementation - ISO 30170:2012
mruby-1.0.0
mruby-1.1.0
mruby-1.2.0
mruby-1[.3.0]
mruby[-head]
# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]
# Topaz
topaz
# MagLev
maglev[-head]
maglev-1.0.0
# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head
# IronRuby
ironruby[-1.1.3]
ironruby-head
- ruby控制的fastlane
#发布到AppStore
lane :release do
#增加build版本号,需要先配置build setting
increment_build_number
#pod资源更新
cocoapods
#打包
gym
#发布到AppStore
deliver(force: true)
#发布testflight测试
testflight
end
3. gem
- Mac 自带 gem
- ruby 是一种语言,是某些软件包代码的执行环境。而gem是管理这些基于ruby程序的程序。
- gem的安装与使用
- gem源安装被墙,常见的gem源
http://gems.github.com/
http://rubygems.org/
https://ruby.taobao.org/
https://gems.ruby-china.org
- gem是Ruby环境中的包管理器,好比于Python中的pip与JavaScript本地Node.js的npm,非常有名和强大,
- gem就是ruby的软件包. 一个gem就是一个ruby软件.
- Gem是封装起来的Ruby应用程序或代码库。
4. brew
- Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器
brew update # 更新 Homebrew 的信息
brew outdated # 看一下哪些软件可以升级
brew upgrade <xxx> # 如果不是所有的都要升级,那就这样升级指定的
brew upgrade; brew cleanup # 如果都要升级,直接升级完然后清理干净
5. bundler
- 使用bundler管理多版本的Gem,有了rvm来管理多版本的ruby环境,我们还需要一个能管理多版本gem(比如rails)的工具,那就是bundler了,
- 那么bundle install和gem install的区别是什么呢? 我的理解是: bundle是用来管理维护项目的软件包的; gem则是用来管理具体的每一个软件包的.
项目的根目录会有一个Gemfile, 里面定义了该项目的软件包依赖的相关事项. 发现它默认是从rubygems.org这个网站获取内容的. 我想把源换成taobao.org. 可以修改Gemfile文件. 把source那一行改成: source ‘http://ruby.taobao.org/’
Gemfile文件中的 gem ‘fastlane’,就类似于Podfile文件中的 pod ‘AFNetworking’
- bundle install执行完之后, 会把当前的软件包环境做一个快照, 放到Gemfile.lock文件中.
- bundle exec [command] 表示使用Gemfile中的指定的软件来执行command.
- 相等于多个RubyGems批处理运行。在配置文件gemfile里说明你的应用依赖哪些第三方包,他自动帮你
- 下载安装多个包,并且会下载这些包依赖的包。
安装
gem install bundler
//如果提示没有权限,就用下线这个,需要输入电脑密码
sudo gem install bundler
简单地来说,就是rvm管理ruby,ruby管理gem,bundle管理gem
6. fastlane
首先要安装xcode-select
xcode-select --install
- fastlane是用Ruby语言编写的一套自动化工具集和框架,每一个工具实际都对应一个Ruby脚本,用来执行某一个特定的任务,而fastlane核心框架则允许使用者通过类似配置文件的形式,将不同的工具有机而灵活的结合在一起,从而形成一个个完整的自动化流程。
sudo gem install fastlane --verbose
7. Gemfile
- 定义你的应用依赖哪些第三方包,bundle根据该配置去寻找这些包。
8. match
match 是 fastlane 的一个功能组件, 采取了集中化方式来管理证书和 profile, 新建一个私有远程 git 库用来保存证书和 profile, 一个 team 的开发者共用同一套证书, 方便了管理和配置, 同时 match 在证书过期时还会自动从苹果官网下载新的证书并 push 到私有的 git 库中, 保证证书同步,
安装match
安装成功以后会提示使用
fastlane match
代替match
//安装成功以后会提示使用fastlane match代替match
sudo gem install match
9. deliver
//安装
sudo gem install deliver
上传屏幕截图,元数据,和APP到AppStore
10. Jenkin
用于集成fastlane,形成可视化打包界面,一键打包