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

LINE iOSのビルド環境の変遷 / Changes in LINE iOS Build ...

LINE iOSのビルド環境の変遷 / Changes in LINE iOS Build Environment

LINE iOSは、200万行を超えるソースコードと200以上のモジュールで構成されている大規模なプロジェクトであるため、そのビルド時間も長くなりがちです。

私達はビルド時間の改善の一環として、Bazelを取り入れました。その結果、ビルド速度が2倍になるというメリットを享受しましたが、メンテナンスコストが増大するというデメリットにも直面しました。

このセッションでは2年間Bazelを使い続けて分かったBazelの長所やリスク、運用時の注意点、そしてLINE iOSのビルド環境の現状と今後についてご紹介します。

※この資料は iOSDC Japan 2022 のスポンサーセッションで発表した内容です。
詳細:https://fortee.jp/iosdc-japan-2022/proposal/ac7d5226-f64b-42ff-8d08-b8960d4021ca
告知:https://engineering.linecorp.com/ja/blog/iosdc_japan_2022/

LINE Developers

September 12, 2022
Tweet

More Decks by LINE Developers

Other Decks in Technology

Transcript

  1. 1. YDPEFCVJMEͷҡ࣋΋ඞཁ 2. ଟ͘ͷϋοΫ͕ඞཁ 3. %FCVHHJOHମݧ͕ѱ͍ 4. ֶशίετ͕ߴ͍ 5. ϥΠϒϥϦʔ؅ཧ͕େม

    6. $BDIFͷ؅ཧ͕େม 9DPEFͷ৽ػೳɺ#B[FMະରԠͷػೳΛ࢖͏ʹ͸ YDPEFCVJMEͱ#B[FM྆ํΛҡ࣋͢Δඞཁ͕͋Δ ௚໘ͨ͠#B[FMͷ՝୊
  2. 1. YDPEFCVJMEͷҡ࣋΋ඞཁ 2. ଟ͘ͷϋοΫ͕ඞཁ 3. %FCVHHJOHମݧ͕ѱ͍ 4. ֶशίετ͕ߴ͍ 5. ϥΠϒϥϦʔ؅ཧ͕େม

    6. $BDIFͷ؅ཧ͕େม w.JYFE4PVSDF.PEVMFΛαϙʔτ͢ΔͨΊʹ w9DPEFͱ049ͷ৽όʔδϣϯ͕ग़ͨ࣌ʹ w..BD্ͰϏϧυ͢ΔͨΊʹ wYDBSDIJWFϑΝΠϧʹCVOEMJOH͢ΔͨΊʹ wYDGSBNFXPSLTΛΠϯϙʔτ͢ΔͨΊʹ w࣮ػͰςετλʔήοτΛ࣮ߦ͢ΔͨΊʹͳͲ ௚໘ͨ͠#B[FMͷ՝୊
  3. ௚໘ͨ͠#B[FMͷ՝୊ 1. YDPEFCVJMEͷҡ࣋΋ඞཁ 2. ଟ͘ͷϋοΫ͕ඞཁ 3. %FCVHHJOHମݧ͕ѱ͍ 4. ֶशίετ͕ߴ͍ 5.

    ϥΠϒϥϦʔ؅ཧ͕େม 6. $BDIFͷ؅ཧ͕େม 9DPEF *%& Ͱ#B[FMΛ࢖ͬͨΒ wҰ෦ͷϒϨʔΫϙΠϯτ͕ಈ࡞͠ͳ͍ wQPͷΑ͏ͳ--%#͕ػೳ͠ͳ͍͜ͱ͕͋Δ w"VUPDPNQMFUF͕ػೳ͠ͳ͍͜ͱ͕͋Δ wఆٛʹδϟϯϒͰ͖ͳ͍͜ͱ͕͋Δ
  4. ௚໘ͨ͠#B[FMͷ՝୊ 1. YDPEFCVJMEͷҡ࣋΋ඞཁ 2. ଟ͘ͷϋοΫ͕ඞཁ 3. %FCVHHJOHମݧ͕ѱ͍ 4. ֶशίετ͕ߴ͍ 5.

    ϥΠϒϥϦʔ؅ཧ͕େม 6. $BDIFͷ؅ཧ͕େม wυΩϡϝϯτͱࢿྉ͕ෆ଍ wษڧձ΍υΩϡϝϯτͷ੔උ͕ඞཁ w#6*-%ϑΝΠϧͷਖ਼͍͠ઃఆ͕ࠔ೉
  5. ௚໘ͨ͠#B[FMͷ՝୊ 1. YDPEFCVJMEͷҡ࣋΋ඞཁ 2. ଟ͘ͷϋοΫ͕ඞཁ 3. %FCVHHJOHମݧ͕ѱ͍ 4. ֶशίετ͕ߴ͍ 5.

    ϥΠϒϥϦʔ؅ཧ͕େม 6. $BDIFͷ؅ཧ͕େม w֤ґଘϥΠϒϥϦʔͷόʔδϣϯ͕༧ଌ͠ʹ͍͘ wॏෳએݴͷ$POGMJDUΛղܾ͢Δ3FTPMWFS͕ͳ͍ w௚઀ٴͼؒ઀ґଘΛ͢΂ͯએݴ͢Δඞཁ͕͋Δ w9DPEF(FOͱґଘؔ܎ͷߏ੒͕Ұக͠ͳ͍
  6. ௚໘ͨ͠#B[FMͷ՝୊ 1. YDPEFCVJMEͷҡ࣋΋ඞཁ 2. ଟ͘ͷϋοΫ͕ඞཁ 3. %FCVHHJOHମݧ͕ѱ͍ 4. ֶशίετ͕ߴ͍ 5.

    ϥΠϒϥϦʔ؅ཧ͕େม 6. $BDIFͷ؅ཧ͕େม wΩϟογϡΛ؅ཧ͢Δπʔϧ͕ͳ͍ wΩϟογϡϙΠζχϯάͷσόοά͕ࠔ೉ wΩϟογϡαʔόʔͱετϨʔδ؅ཧ͕ඞཁ wΠϯλʔωοτ؀ڥʹΑͬͯମݧ͕ҟͳΔ