Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Xcode Cloud の導入前に考慮すべき4つのポイント / GO TechTalk 18

Xcode Cloud の導入前に考慮すべき4つのポイント / GO TechTalk 18

GO TechTalk #18 『GO』のiOS開発で、Concurrency、Xcode Cloud、新DIを試してみた で発表した資料です。

■ YouTube
https://www.youtube.com/live/XDMBK-loe4o?feature=share&t=2083

■ connpass
https://jtx.connpass.com/event/277446/

GO Inc. dev

April 24, 2023
Tweet

More Decks by GO Inc. dev

Other Decks in Programming

Transcript

  1. 2 © GO Inc. ❏ タクシーアプリ『GO』の iOS アプリ開発 ❏ アーキテクチャの選定・導入

    ❏ アプリ全体の設計、新機能開発 ❏ CI 環境の構築・整備、自動化の促進 ❏ チームビルディング 自己紹介 GO株式会社 ユーザシステムG / 今入 庸介 @kamekiti
  2. 5 © GO Inc. Xcode Cloud の良い点 ① ❏ Apple

    が管理しているサービスとの親和性が高い ❏ 証明書まわりの環境構築および運用コストがゼロ ❏ TestFlight への配信もコード要らず ❏ 比較的安価だと思われる ❏ プロジェクト構成やビルド時間などに依存するが、比較的安価 ❏ Bitrise の 1/10 などの声も見かける
  3. 6 © GO Inc. Xcode Cloud の良い点 ② ❏ 日本語に対応している

    ❏ App Store Connect と同品質のローカライズ ❏ Xcode に組み込まれている ❏ Xcode 内でセットアップやジョブの確認ができる ❏ トリガーに細かな条件が設定可能 ❏ 特定のファイル差分は無視する etc…
  4. 8 © GO Inc. Xcode Cloud の導入前に考慮すべきポイント ① ❏ あくまで

    Xcode の Cloud 版 ❏ Workflow 内に以下のいずれかのステップを組み込む必要がある ❏ Build, Test, Analyze, Archive ❏ 任意のスクリプトを実行するだけの Workflow は作成できない Xcode の機能を利用しなければならない
  5. 9 © GO Inc. ❏ git clone 後に特定のディレクトリ内のスクリプトが実行される ❏ git

    clone 前に任意のスクリプトは実行できない Xcode Cloud の導入前に考慮すべきポイント ② 任意のスクリプトの実行タイミングが限定的
  6. 10 © GO Inc. キャッシュ機構が不明瞭 Xcode Cloud の導入前に考慮すべきポイント ③ ❏

    Derived Data 配下はキャッシュされる ❏ SPM でライブラリを導入した場合はキャッシュされる ❏ Homebrew, Gem, Mint などのインストールは毎回行う必要があった ❏ 比較的安価だが、キャッシュが使えないことによる実行時間増が懸念
  7. 11 © GO Inc. Xcode Cloud の導入前に考慮すべきポイント ④ ❏ バージョン管理機構がないので最新状態しか確認できない

    ❏ 誰がいつ何を編集したのかを把握できない ❏ 複数人開発ではチーム内で議論しておきたい ❏ App Store Connect の役割で編集権限の制御は可能 ❏ 過去の状態に戻すこともできない Workflow の編集履歴や差分は確認できない
  8. 12 © GO Inc. ❏ Xcode Cloud からプライベートリポジトリへのアクセス方法(公式) ❏ Xcode

    Cloud 17.58.192.0/18, and 57.103.0.0/22 からのアクセスを許可 ❏ GO では独自ツールを使ってプライベートリポジトリへのアクセスを許可 ❏ git clone 前に実行したいが現状の仕様だと不可能 ❏ 導入検証時は期間限定で公式の手法でアクセスを許可してもらった タクシーアプリ『GO』開発に Xcode Cloud を導入するか 現状の仕様だと導入ができないことが分かった
  9. 13 © GO Inc. まとめ ❏ Xcode Cloud ならではの良さはたくさんある ❏

    証明書まわりの環境構築や運用コストがゼロ ❏ 比較的安価に利用できそう ❏ チームやプロジェクトの環境に適しているかどうかの見極めは必要 ❏ あくまで Xcode の Cloud 版である ❏ 他の CI サービスと併用して導入するのが良さそう ❏ Xcode Cloud でできないことを他の CI サービスで補完