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. © GO Inc.
    Xcode Cloud の導入前に考慮すべき4つのポイント
    Yosuke Imairi

    View Slide

  2. 2
    © GO Inc.
    ❏ タクシーアプリ『GO』の iOS アプリ開発
    ❏ アーキテクチャの選定・導入
    ❏ アプリ全体の設計、新機能開発
    ❏ CI 環境の構築・整備、自動化の促進
    ❏ チームビルディング
    自己紹介
    GO株式会社
    ユーザシステムG / 今入 庸介
    @kamekiti

    View Slide

  3. 3
    © GO Inc.
    Xcode Cloud の導入検証をした
    iOSアプリ開発でよく使われている CI から
    Xcode Cloud に乗り換えることはできるのか

    View Slide

  4. 4
    © GO Inc.
    思ってたより良い!
    Xcode Cloud を使ってみた感想
    👍

    View Slide

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

    View Slide

  6. 6
    © GO Inc.
    Xcode Cloud の良い点 ②
    ❏ 日本語に対応している
    ❏ App Store Connect と同品質のローカライズ
    ❏ Xcode に組み込まれている
    ❏ Xcode 内でセットアップやジョブの確認ができる
    ❏ トリガーに細かな条件が設定可能
    ❏ 特定のファイル差分は無視する etc…

    View Slide

  7. 7
    © GO Inc.
    Xcode Cloud の導入前に考慮すべきポイント
    導入前に検討しておきたいことや
    チームメンバーと議論が必要になりそうな点もあった
    🤔

    View Slide

  8. 8
    © GO Inc.
    Xcode Cloud の導入前に考慮すべきポイント ①
    ❏ あくまで Xcode の Cloud 版
    ❏ Workflow 内に以下のいずれかのステップを組み込む必要がある
    ❏ Build, Test, Analyze, Archive
    ❏ 任意のスクリプトを実行するだけの Workflow は作成できない
    Xcode の機能を利用しなければならない

    View Slide

  9. 9
    © GO Inc.
    ❏ git clone 後に特定のディレクトリ内のスクリプトが実行される
    ❏ git clone 前に任意のスクリプトは実行できない
    Xcode Cloud の導入前に考慮すべきポイント ②
    任意のスクリプトの実行タイミングが限定的

    View Slide

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

    View Slide

  11. 11
    © GO Inc.
    Xcode Cloud の導入前に考慮すべきポイント ④
    ❏ バージョン管理機構がないので最新状態しか確認できない
    ❏ 誰がいつ何を編集したのかを把握できない
    ❏ 複数人開発ではチーム内で議論しておきたい
    ❏ App Store Connect の役割で編集権限の制御は可能
    ❏ 過去の状態に戻すこともできない
    Workflow の編集履歴や差分は確認できない

    View Slide

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

    View Slide

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

    View Slide

  14. 文章・画像等の内容の無断転載及び複製等の行為はご遠慮ください。
    © GO Inc.

    View Slide