fastlane 执行Shell及打印日志消息

前言

在Fastfile文件中,常常需要执行一些其他的脚本及命令,同时还要打印日志

一、在Fastfile中执行Shell命令

参考:

sh("命令") : 最原始的方式,返回打印的日志
sh("shell路径") : 最原始的方式,返回打印的日志
Helper.backticks("命令"):执行耗时比较短的命令,返回打印的日志
FastlaneCore::CommandExecutor.execute(command: "命令"):建议的方式
system("命令"): 执行完后返回true/false
exec("命令"): 执行完后会强制结束,不再往下执行
Fastfile的demo如下:

default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
  lane :custom_lane do
     result0 = sh( "./../hello.sh")
     UI.message "result0:#{result0}"
     result1 = sh("pwd")
     UI.message "result1:#{result1}"
     result2 = Helper.backticks("pwd")
     UI.message "result2:#{result2}"
     result3 = FastlaneCore::CommandExecutor.execute(command: "pwd")
     UI.message "result3:#{result3}"
     result4 = system("pwd")
     UI.message "result4:#{result4}"
     result5 = exec("pwd")
     #以下因为exec会强制结束不会被执行
     UI.message "result5:#{result5}"
     UI.message "end=======end"
  
  end
end

hello.sh的脚本内容:

#! /bin/bash
echo "I am Hello world"
pwd

结果如下:
16:41:28: ------------------------------
16:41:28: --- Step: default_platform ---
16:41:28: ------------------------------
16:41:28: Driving the lane 'ios custom_lane' 🚀
16:41:28: ---------------------------
16:41:28: --- Step: ./../hello.sh ---
16:41:28: ---------------------------
16:41:28: $ ./../hello.sh
16:41:28: ▸ I am Hello world
16:41:28: ▸ /Users/tony/fastlane_workspace/OwnActionPlugin/fastlane
16:41:28: result0:I am Hello world
/Users/tony/fastlane_workspace/OwnActionPlugin/fastlane

16:41:28: --- Step: pwd ---
16:41:28: -----------------
16:41:28: $ pwd
16:41:28: ▸ /Users/tony/fastlane_workspace/OwnActionPlugin/fastlane
16:41:28: result1:/Users/tony/fastlane_workspace/OwnActionPlugin/fastlane

16:41:28: $ pwd
16:41:28: ▸ /Users/tony/fastlane_workspace/OwnActionPlugin/fastlane
16:41:28: result2:/Users/tony/fastlane_workspace/OwnActionPlugin/fastlane

16:41:28: $ pwd
16:41:28: result3:/Users/tony/fastlane_workspace/OwnActionPlugin/fastlane
/Users/tony/fastlane_workspace/OwnActionPlugin/fastlane
16:41:28: result4:true
/Users/tony/fastlane_workspace/OwnActionPlugin/fastlane

1.2:

UI.input: 接受输入的文本
UI.password:接收输入的密码
UI.confirm:接收y/n的选择
UI.select:接收从多个选择中选择一个选项
更多参考:fastlane actions 交互
Fastfile的demo如下:

default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
  lane :custom_lane do
    name = UI.input("What's your name? ")
    pwd = UI.password("Your password please: ")
    confirm = UI.confirm("Are you '#{name}'?")
    UI.message "name:#{name}  pwd:#{pwd} confirm:#{confirm}"
  end
end

16:15:09: --- Step: default_platform ---
16:15:09: ------------------------------
16:15:09: Driving the lane 'ios custom_lane' 🚀
16:15:09: What's your name? jobs
[16:15:17]: Your password please: ***
[16:15:19]: Are you 'jobs'? (y/n)
y
[16:15:20]: name:jobs pwd:123 confirm:true

二、在Fastfile中执行打印日志
platform :ios do
  desc "Description of what the lane does"
  lane :custom_lane do
     puts "hello---puts----111111"
     p "hello---p----2222222222"
     UI.message "hello---message----3333333"
     UI.important "hello---important----44444444"
     UI.error "hello---error----5555555"
     UI.success "hello---success----66666666"
     UI.header "hello---header----777777"
  end
end

17:02:51: --- Step: default_platform ---
17:02:51: ------------------------------
17:02:51: Driving the lane 'ios custom_lane' 🚀
17:02:51: hello---puts----111111
"hello---p----2222222222"
17:02:51: hello---message----3333333
17:02:51: hello---important----44444444
17:02:51: hello---error----5555555
17:02:51: hello---success----66666666
17:02:51: --------------------------------
17:02:51: --- hello---header----777777 ---
17:02:51: --------------------------------

打印日志效果
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • fastlane运行所需要的环境: OS X 10.9以上 Ruby 2.0 以上 Xcode 拥有一个开发者账号...
    阿姣_0405阅读 2,947评论 0 4
  • 前言 在终端中执行fastlane lane_name之后,fastlane会去执行Fastfile中定义的同名l...
    wangzzzzz阅读 1,746评论 6 8
  • 题目169. Majority Element Given an array of size n, find th...
    evil_ice阅读 318评论 0 0
  • 每日复盘 Objective 你对今天学的记得什么? 书到用时方恨少。 Reflective 一句话形容今天的情绪...
    露易司阅读 149评论 0 0
  • 反射弧超级长的我,现在才来感慨2018~ 没有跨年,也没有和亲爱的们出去嗨,说是准备期末考试,但想想还是自己的原因...
    小米111阅读 274评论 0 0