fastlane的强大带我们不少的便利,但事无人愿。总有些不一样的需求,今天就给大家带来的是fastlane的action和插件。
这也是fastlane精髓部分,它使fastlane具有强大扩展性,以保证变化不断的个性化需求。
自定义本地action
在项目中,可以创建自定义的action扩展fastlane的功能性。创建的这个action跟fastlane内置的action在使用上面来说没多大区别。下面来个例子:
创建本地action
更新 build 版本号,格式就以年月日时分。在终端输入下面命令:
1 | fastlane new_action |
action实现分析
在后面会被要求输入action的名字,输入update_build_version按回车后,fastlane会在fastlane/actions目录下面创建后缀为.ruby文件。请看下面的文件内容
1 | module Fastlane |
从上面的方法上来看,主要的还是run方法和available_options方法。如果看不懂上面的代码,那去补一下ruby相关的语法。OK,这个action跟其他的action一样,在Fastlane直接使用就可以了。在终端输入fastlane action update_build_version,会像下面一样,打印出action的相关信息

顺便提一下要在另外的项目上使用,直接复制过去就行了。至于要提交到fastlane的官方库,还是相对来说门槛较高。
自定义插件
上面的action在共享这方面,只能靠复制这一手段,相当之不优雅。那么插件是我们最好的选择。
创建插件
进入一个新的目录
1 | fastlane new_plugin [plugin_name] |
fastlane创建Ruby gem库目录lib/fastlane/plugin/[plugin_name]/actions/[plugin_name].rb这个文件是我们要实现的action文件
插件跟action都是同样的写法。在这里就不重复描述了。
在当前目录下, 可以运行fastlane test,测试插件是否正确
使用方法
安装已发布到RubyGems的插件
1 | fastlane add_plugin |
fastlane会执行以下步骤
- 添加插件到
fastlane/Pluginfile - 使
./Gemfile文件正确引用fastlane/Pluginfile - 运行
fastlane install_plugins安装插件以及需要的依赖 - 如果之前未安装过插件,会生成三个文件:
Gemfile、Gemfile.lock和fastlane/Pluginfile
安装其他插件
正如上面所说,在项目里面的fastlane/Pluginfile添加下面内容
1 |
|
在终端运行fastlane/Pluginfile(或者 bundle exec fastlane/Pluginfile),安装插件以及相关依赖
总结
action的出现,大大的增强了fastlane的扩展性。使我们适应自己的业务,定制所需要action。另外,Plugin使fastlane在有强大的扩展性同量,使用更加灵活。
总的来说,如果是单单的项目,action可以解决问题。如果是多个项目,使用plugins是不二选择。
小Tips:如果看不懂,去补一下Ruby的语法。还有就是多点看一下网上action和plugin写法。
参考文档: