Fastlane是什么
Git地址:
Fastlane
文档地址:
Fastlane Document
- Fastlane是一整套的客户端CICD工具集合。Fastlane可以非常快速简单的搭建一个自动化发布服务,并且支持Android,iOS,MacOS。
- Fastlane命令执行的底层并不是自己实现的,而是调用其他的插件或者工具执行的。比如说打包,Fastlane中的gym工具只是xcodebuild工具的一个封装,调用的其实还是xcodebuild中的打包命令。
- Fastlane本身没有一套特殊语法,使用的Ruby语言。
- Fastlane的插件工具叫做action,每一个action都对应一个具体的功能
Fastlane安装
1、安装xcode命令行工具,在终端输入:
xcode-select --install
2、安装Fastlane,在终端输入:
//方式一:Using RubyGems
sudo gem install fastlane -NV
//方式二:Using Homebrew
brew cask install fastlane
Fastlane初始化工程
1、进入工程的根目录,在终端输入Fastlane初始化命令:
sudo fastlane init
2、初始化完成后会要求选择创建目的:
- What would you like to use fastlane for?
- Automate screenshots
- Automate beta distribution to TestFlight
- Automate App Store distribution
- Manual setup - manually setup your project to automate your tasks
如果是要上传AppleStore选3,如果是企业版选4
3、安装验证
default_platform(:ios)
platform :ios do
desc "生成本地版本"
lane :testabc do
build_app(scheme: "ZEUS")
end
end
fastlane testabc desc:测试打包
Fastlane常用工具(action)
查询action:
在命令行输入:
//查询所有action
fastlane actions
//查询制定action
fastlane action [action_name]
action分类:
scan |
Alias for the run_tests action |
ios, mac |
slather |
Use slather to generate a code coverage report |
ios, mac |
swiftlint |
Run swift code validation using SwiftLint |
ios, mac |
xcov |
Nice code coverage reports without hassle |
ios, mac |
sonar |
Invokes sonar-scanner to programmatically run SonarQube analysis |
ios, android, mac |
oclint |
Lints implementation files with OCLint |
ios, android, mac |
gcovr |
Runs test coverage reports for your Xcode project |
ios |
lcov |
Generates coverage data using lcov |
ios, mac |
appium |
Run UI test by Appium with RSpec |
ios, android |
xctool |
Run tests using xctool |
ios, mac |
run_tests |
Easily run tests of your iOS app (via scan) |
ios, mac |
xcode_server_get_assets |
Downloads Xcode Bot assets like the .xcarchive and logs |
ios, mac |
- Building
- Screenshots
- Project
- Code Signing
- Documentation
- Beta
- Push
- Releasing your app
- Source Control
- Notifications
- App Store Connect
- Misc
- Deprecated
踩坑笔记
1.报Missing Private Key:
需要从有证书的Mac中导入证书的p12私钥安装到新的打包机
2.在compiling Swift source files这一步再也不动了:
Project --> Build Settings --> Swift compiler-code generation 找到Optimization Level 将其设置为No optimization[-Onone]