Fastlane基礎介紹

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?
      1. Automate screenshots
      1. Automate beta distribution to TestFlight
      1. Automate App Store distribution
      1. Manual setup - manually setup your project to automate your tasks

如果是要上傳AppleStore選3,如果是企業版選4

3、安裝驗證

  • 在fastlane文件中寫入:
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分類:

  • Testing
Action Description Supported Platforms
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]

posted @ 2019-06-21 09:57 柳云居士 閱讀(...) 評論(...) 編輯 收藏