自动化打包之fastlane--(11) ENV文件处理和options参数传递

1. 创建env文件

  1. 使用.env配置方式
  2. .env 这个文件的作用是作为环境变量的配置文件,在fastlane init进行初始化后并不会自动生成,如果需要可以自己创建。

  3. 执行时默认会读取 .env 和 .env.default 文件里的配置。通过执行 fastlane [lane-name] –env [envName] 来指定使用配置文件 .env.[envName] ,读取顺序是 .env -> .env.default -> .env. ,相同的变量名会被后面的覆盖。

  4. 如我建了文件.env.myDev,里面写了一些参数,那在执行的时候使用 fastlane [lane-name] –env myDev 即可,想在Appfile、Deliverfile、Fastfile等调用,直接使用 ENV[‘keyName’] 即可

  • 打开终端
  • cd 到项目中的fastlane文件夹
  • 输入touch .env (可以命名成不同的名称以便fastlane操作时区分)
  • 按下enter键,fastlane文件夹下就会看到.env文件
  • 如果没有看到,因为.env文件默认是隐藏状态,终端输入defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 就可以看到隐藏的文件了

这里写图片描述

2. 编辑ENV文件

使用任意一款文本编辑软件即可打开.env文件

WORKSPACE="demo.xcworkspace"
SCHEME="demo"
ACCOUNT="[email protected]"
...........

3. 引用env中的环境变量

# Appfile使用.env方式直接读取变量即可
app_identifier   ENV['App_Identifier']
apple_id         ENV['Apple_Id']
team_id          ENV['Team_Id']

4. fastlane 调用env文件

fastlane 调用时,通过添加参数 --env 来指定待读取的 .env 文件
$ fastlane release --env targetA
$ fastlane release --env targerB

5. options参数传递

lane操作接收参数
如下一个定义的lane操作,options的参数key1和key2,从哪里来的?

platform :ios do 
  before_all do |lane, options|
    #options参数
    value  = options[:key1]
    value2 = options[:key2]
  end

  lane :beta do
  ...
  end
end

fastlane 传递参数
上面options中的参数来源于,终端操作lane的传入的参数

# 使用key:value来传递一组对应的参数
fastlane beta key1:value key2:value2

猜你喜欢

转载自blog.csdn.net/kuangdacaikuang/article/details/80626911