詳解Fastfileを聞いて

https://speakerdeck.com/giginet/xiang-jie-fastfileの感想

kameike
3 min readSep 2, 2018

前提

このトークの感想とメモです。 https://speakerdeck.com/giginet/xiang-jie-fastfile

@giginet さんのトークです

kameikeの状況

  • rubyちょっとかける(オライリー本を読んだのが二年前ぐらいなので実質記憶喪失)
  • fastlaneちょっと使っている
  • itunesConnectにアップロードする際に使っている
  • CIとしてjenkinsが昔やっていたけど、今はbitriseでやっているのでそこはあまり使っていない

cookpadだとどうしているのかのメモ

  • github上のCI, CDの基盤として
  • リリースフローの管理
  • サブミットを自動化
  • slackbotと対話的にビルドをお願いできるようになっている
  • 社内向けビルドの配布。
  • ラベルつけておくと、PRごとにビルドして配信。
  • メトリクス監視としてカバレッジの集計、統計に使っている
  • その他色々聞き逃したけどいろいろやっている

すごい

とても参考になったtipsメモ

private_lane

内部からしか呼べない記法。private_laneはProcになってる。 → nextじゃないと戻り値を出せないとかによくつまづくので、ドキュメントにも書いている。

import

巨大なFastfileを分割する。 ファイル名をimportできる

githubでsyntax fileをなんとかする # vim: syntax=rubyとすると色がつく。← これめっちゃ便利tips

githubのsyntaxのライブラリーがvimのコマンドを解釈してくれて色がつく、ということらしい!良い知見。

公式ドキュメントのAdvancedがオススメ。

色々と丁寧にまとまっているそうです

keyとかのをfastfileに書かない

環境変数から注入する。管理する際もセキュアだし、コンテナとかとも相性が良さそう。

設定とロジックは分離する

Appfile, Gymfile.... のようなものがある。そこに分離。

ロジックをfastfileから外して、Actionに分離

bundle exec fastlane new_actionから対話的に生成できる。

  • バリデーションがしやすく ConfigItemというものを使うと、設定を宣言的に読み込める。
  • アクション自体のrspecをかける ←これがあると超便利そう

codesignが大変

これは僕もつらい思い出が、幸いしっかり開発を始めたのがXcode9からなので恵まれを感じる。表に起こすと便利そうでよさそう。

fastlaneでがんばるよりも、XCodeで頑張るとよさそうという感じだった。

Fastfileのデバック

pryを入れるとデバックしやすい。

感想

  • ドキュメントをもう一度通して読もうという気持ちが高まった。
  • 状況に応じた自動化、大切だなぁ
  • # vim: syntax=xxx 色々と便利そう。名前が違うDockerfileとかにも使えそう。
  • できる限り宣言的にしていこうという努力、かっこいい

--

--