タグ

bazelに関するKesinのブックマーク (19)

  • Large Runner + リモートキャッシュで爆速 Bazel のフルテスト

    Kesin
    Kesin 2023/12/18
    Bazelのリモートキャッシュ用のGCSはGitHub hostedなランナーに近いusリージョンに置いた方が早い。キャッシュが相当効果的に見えるがLarger runnerでコア数を増やしたら順当に早くなってるのはBazelの効果なのかな
  • LINEはなぜBazelを使わないことにしたのか?

    Jung Giuk2023-08-292019年 LINEBuild Engineerとして入社し、現在は「アプリプラットフォーム開発室」のディベロッパーエクスペリエンス開発チームに携わっていて LINE iOSアプリのビルド環境やコードクォリティの改善に取り組んでいる。 はじめに こんにちは、ディベロッパーエクスペリエンス開発チームのJungです。 この記事では2年以上 LINE iOSのビルドシステムとして運用したBazelをやめることにした背景についてご紹介します。 Bazel導入とこれまでのLINE iOS LINE iOS は200万行以上のソースコードと200以上のモジュールで構成される大規模プロジェクトです。 LINE iOSのソースコードとモジュールの数が増えて規模を拡大し続けるにつれて、ビルド/テストの遅延と DX(デベロッパーエクスペリエンス) の低下という避けら

    LINEはなぜBazelを使わないことにしたのか?
    Kesin
    Kesin 2023/08/29
    やっぱりBazel厳しいのか・・・iOSに関してはBazel以外のあらゆる開発ツールがAppleに振り回される宿命にあるので特に厳しそうだとは思っていた
  • メルカリShopsを支えるMonorepo ML開発環境 | メルカリエンジニアリング

    こんにちは!SouzohのMLチームでSoftware Engineerをしているwakanaです。 SouzohのMLチームは2021年4月にスタートし、ちょうど2年が経ちます。当時1人だったメンバーも、今では4人になり、レコメンデーションを中心に5, 6個の機能を提供するようになりました。MLOpsも成熟し、より新しく高度なML機能開発に集中して取り組める環境が整ってきていると感じています。 そこでこの記事では、立ち上げから2年たった今SouzohのPython, ML環境がどのようになっているか紹介しようと思います。これからPythonやMLのMonorepoでの開発環境を整えようとしている方、特に少人数での運用を考えてる方の参考になれば嬉しいです。 TL;DR SouzohではPoetry, Bazel, VertexAI Pipelinesで快適なMonorepo開発環境を実現

    メルカリShopsを支えるMonorepo ML開発環境 | メルカリエンジニアリング
  • メルカリiOSアプリのBazelを使った高速・高信頼性ビルド | メルカリエンジニアリング

    ここまでBazel の利点をいくつか紹介しましたが、採用には懸念点もありました。次のセクションからは、どのような懸念があったか、それをどのように解決したのかを紹介します。 Xcode 統合 Bazel と Xcode の統合は Bazel の採用においてもっとも大きな懸念でした。 Xcode はビルドシステムと密結合したやや特殊な IDE なので、外部ビルドシステムとの統合が難しいのです。特に indexing や LLDB デバッグを正しく動作させるのは困難でした。 統合とはつまり、Bazel によるビルドのアウトプットを利用して Xcode がサポートする動作を再現することを意味していて、主に下記のような要件を満たす必要があります。 Bazel のビルド構成ファイル群を解析して Xcode プロジェクトを生成する Xcode ビルドの実行を抑制し、代わりに Bazel ビルドを実行する

    メルカリiOSアプリのBazelを使った高速・高信頼性ビルド | メルカリエンジニアリング
    Kesin
    Kesin 2022/12/19
    すごい。BuildBuddyは知らなかったけどBazelをサポートするSaaSなのかな
  • Twitter での 2年 · eed3si9n

    2022-11-20 僕は Twitter社の Build/Bazel Migration チームでスタッフ・エンジニアとして勤務していた。信じられないような 2年の後、2022年11月17日をもって退職した (企業買収後のレイオフでも任意でもあんまり関係無いが、僕は任意退職希望のオファーを取った)。Twitter社は、切磋琢磨、多様性、そして Flock を構成する全ての人に対して溢れ出る優しさというかなり特別な文化を持った職場だった。これを間近で経験して、その一員となる機会を得たことに感謝している。(Flock は「鳥の群れ」の意で、社内での Twitter社の通称) 以下は過去2年の簡単な振り返りだ。尚稿での情報は、既に公開されているトークやデータに基づいている。買収後、うちのチームだけでも 10名以上のメンバーが Twitter社を抜けたので、在籍・元含め LinkedIn プロ

    Kesin
    Kesin 2022/11/21
    Pantsというビルドツールの名前は聞いたことあったけどBazelに移行したのか
  • これからメルカリのエンジニアリングはもっと面白くなる──iOS&Androidのテックリードが振り返る、すべてがGo Boldだった「GroundUp App」 | mercan (メルカン)

    2020年4月にソフトウェアエンジニアとしてメルカリに入社。Architectチームに所属し、iOSリードアーキテクトとしてGroundUp Appに従事。現在はプラットフォームの設計全般を担当。 2019年にメルカリに入社。現在はクライアントアーキテクトチームのAndroidリードアーキテクトを担当。来日前は母国フィリピンで勤務し、その後シンガポールで勤務。メルカリでは、Androidに特化したユーザーと開発者の体験を向上させるために、メンバーからのフィードバックを収集し、対応することに注力。「Mercari Hack Week」では、Mercari 2025のような拡張現実のプロジェクトに取り組み、毎回賞を獲得。仕事以外の時間は、メルカリの友人たちとクルージングやカラオケ、チームビルディングを楽しんでいる。Call of Dutyでは10シーズンLegendaryランク、Apex Le

    これからメルカリのエンジニアリングはもっと面白くなる──iOS&Androidのテックリードが振り返る、すべてがGo Boldだった「GroundUp App」 | mercan (メルカン)
    Kesin
    Kesin 2022/10/30
    メルカリのアプリのビルドにBazel使ってるんだ
  • LINE iOSのビルド環境の変遷 / Changes in LINE iOS Build Environment

    Kesin
    Kesin 2022/09/12
    iOSだとやはりBazel難しいのか。PinterestやLyftはLINEより先駆者だったと思うのだけどその後どうなったのだろう
  • Ruby のコードを静的型検査する with Bazel

    モンスターストライク(以下、モンスト)のバックエンドの開発・運用チームでは、大小様々なツールをモノレポで管理しています。 また、モノレポにビルドツールの Bazel を導入して、プログラムのビルドやテストの実行などを統一したインターフェースで行えるようにしています(詳しくは過去の記事「Bazelとモノレポ」を参照してください)。 モノレポにある多くのツールは Go で書かれています: ちなみに、Perl も多いのは SNS mixi 時代のツールを引き継いでるからっぽいですGo と Bazel の相性はよく、公式からも Bazel + Go の開発を支援するツールが提供されています(e.g. Gazelle)。 モンストのバックエンド体は Ruby で書かれており、いくつかのツールも Ruby で書かれています。 現状、モノレポにある Ruby 製ツールには Bazel が導入されていま

    Ruby のコードを静的型検査する with Bazel
    Kesin
    Kesin 2022/03/18
    既存のツールとちょっと異なる生態系になるBazelの大変なところを感じられる
  • Monorepo Explained

    Everything you need to know about monorepos, and the tools to build them.- Made with love by Nx Understanding Monorepos Monorepos are hot right now, especially among Web developers. We created this resource to help developers understand what monorepos are, what benefitsthey can bring, and the tools available to make monorepo development delightful. There are many great monorepo tools, built by gre

    Monorepo Explained
    Kesin
    Kesin 2022/02/11
    Monorepoを使う上でビルドツールに求められる機能がよくまとまってる。ほぼJSのプロジェクトが前提に見えるがBazelや最近流行りのTurborepoの比較が分かりやすい
  • メルカリShops の技術スタック、その後 | メルカリエンジニアリング

    こんにちは。ソウゾウのSoftware Engineer(CTO)の@suguruです。連載:メルカリShops 開発の裏側 Vol.2の1日目を担当させていただきます。 去年、2021年に開始した メルカリShopsの技術スタック についての記事を書きましたが、今回はリリースまでに採用した技術スタックが、半年通してどのようにアップデートしてきたかを共有したいと思います。 ローンチ時に採用した技術が、実際の運用でどのように変遷したのかを共有することで、技術スタックを考える際の何らかの参考になれば幸いです。 monorepo メルカリShops ではサービスに必要なコードを1つに集約する monorepo を採用しています。リリース後半年たってコード量はかなり増えてきましたが、monorepo に対する満足度は非常に高く、うまく機能しています。 サービス全体の見通しが良くなることと、すべての

    メルカリShops の技術スタック、その後 | メルカリエンジニアリング
    Kesin
    Kesin 2022/02/08
    TypeScriptだけはBazelを諦めてTurborepoに移行したとのこと。やっぱりjs周りでBazelを使うのは難しかったのか
  • 拡大し続ける開発組織の生産性を向上させるメルカリのクライアントCI/CDチーム #TeamInterview | メルカリエンジニアリング

    CI/CD(継続的インテグレーション/継続的デリバリー)は、ソフトウェアを素早く開発し、お客さまに素早く価値を届けるために必要不可欠です。バックエンドやフロントエンド、それぞれの技術レイヤーにおいてCI/CDが必要ですが、この記事はモバイルアプリやWebにおけるCI/CDを提供するクライアントCI/CDチームにスポットを当てます。 今回はクライアントCI/CDチームの@y-kazamaと@kaito、@thiそして@aha-oretamaにインタビューを行いました。現在の業務とこれからの取り組み、そしてチームが実施してきたユニークな取り組みについて話を聞いています。組織が大きくなる中でもエンジニアの生産性を低下させないように取り組む、彼らの思いをご覧ください。 聞き手はEngineering Officeの@afroscriptです。 クライアントCI/CDチームのメンバーについて — ま

    拡大し続ける開発組織の生産性を向上させるメルカリのクライアントCI/CDチーム #TeamInterview | メルカリエンジニアリング
    Kesin
    Kesin 2021/11/25
    Bazel導入してるのすごい
  • Bazel で OpenAPI 仕様からコードを生成する

    Kesin
    Kesin 2021/09/22
  • メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング

    こんにちは。ソウゾウの Software Engineer (CTO) の @suguru です。連載:「メルカリShops」プレオープンまでの開発の裏側の1日目を担当させていただきます。 7月末にメルカリShopsという新しいサービスが公開されました。メルカリShops は、2021年1月にメルカリのグループ会社として設立したソウゾウが新たに立ち上げたサービスです。 この記事では、メルカリShops を作るにあたり、どういった技術、アーキテクチャを選定したのか、その背景と意思決定をまとめて共有したいと思います。 monorepo まず最初にプロジェクトをスタートしたときに、サービスのリポジトリを作るのですが、迷わず monorepo による構成を選択しました。monorepo は、システムを構成する複数のコンポーネントの独立性を保ちつつ、全ての構成を1つのリポジトリで管理する手法です。今

    メルカリShops の技術スタックと、その選定理由 | メルカリエンジニアリング
    Kesin
    Kesin 2021/08/10
    うおBazelだ!エディタをクラウド上に持っていったり色々攻めた構成だ
  • Bazel で diagrams.py を実行する

    Kesin
    Kesin 2021/02/18
    貴重なBazelによるdockerの利用だ
  • Gradle vs Bazel for JVM Projects

    Introduction Gradle has emerged as the build tool of choice for projects within the JVM ecosystem, including Kotlin. It is the most popular build tool for open source JVM projects on GitHub. It is downloaded on average more than 15 million times per month and has been counted in the Top 20 Most Popular Open Source Projects for IT by Techcrunch. Many popular projects have migrated from Maven to Gra

    Gradle vs Bazel for JVM Projects
    Kesin
    Kesin 2021/01/02
    BazelとGradleの比較。Bazelは一般的に速いと評判だがベンチマークでGradleの方が速かったのと、JVMのツールチェインと深く連携できているのでビルドスクリプトのメンテも簡単という話
  • LINE iOS版のビルドパフォーマンスをBazelで改善

    背景 LINE iOS版のソースコードは、ローンチ以来、数百モジュールもの規模にまで成長しています。2019年末時点で、コード行数も140万行を超えており、現在もその増加ペースはとどまるところを知りません。一方、コードが大規模になると、開発者にとってはビルド時間が悩みの種ともなります。また、プロジェクトの成長に伴い、再現不可能な問題も増えていきました。 たとえば、ローカル環境で動くビルドがCIで動かなかったり、もしくはその逆が起こったり、といったものです。 そこで、一歩退いた目線に立ち、ビルドパフォーマンスと再現性を改善できる方法を考え始めました。 ライブラリ依存管理 まず、ライブラリ依存管理についてお話します。LINEでは、2012年の終わりに依存性管理ツールとして CocoaPods を導入しました。 CocoaPodsは非常に便利なOSSで、 Xcodeとの相性も良いです。 自分で書

    LINE iOS版のビルドパフォーマンスをBazelで改善
    Kesin
    Kesin 2020/10/01
    英語で公開されていた記事の日本語訳かな
  • Micro Modular Architecture with Bazel

    iOSDC Japan 2020 09/21 11:30 Track E 「Bazelを利用したMicro Modular Architecture」

    Micro Modular Architecture with Bazel
    Kesin
    Kesin 2020/09/21
  • GoとKotlinのマルチプロジェクトをBazelでビルドする - 平日インプット週末アウトプットぶろぐ

    GoKotlinのマルチプロジェクトをBazelでビルドする November 14, 2018 Bazel Go Kotlin Multiprojects Googleが開発するビルドツールのBazelを試していく。 Bazel - a fast, scalable, multi-language and extensible build system” - Bazel モチベーション GoKotlinでつくるマイクロサービス開発は1つのサービスに1つのレポジトリで行ってきた経緯がある。またCIではDockerfileをレポジトリに内包することでビルド時にDockerイメージの錬成を行いRegistryへのPushを行う。GoKotlinのビルド環境が異なることやイメージのビルドがDockerfileドリブンであるためサービス対レポジトリが1:1の関係であった。 Bazelは複数言

    Kesin
    Kesin 2020/09/04
  • GoとBazel

    以前、 モノレポ構成にしてビルドツールとしてBazelを利用していることを紹介しました。 そのBazelは10月10日にとうとう1.0をリリースしました。 バージョン1.0に到達したというニュースは日語のニュースサイトでも掲載されるなど、多少注目を浴びたようです。 そこで今回はGoプロジェクトのビルドツールとしてBazelを利用する際のTipsをご紹介します。 GoプロジェクトではGNU makeをビルドツールとして使われていることが多いと思いますが、一度Bazelに慣れてしまうと手放せないツールになります(なっています)。 導入を検討する際のなにかの参考になりそうなTipsをいくつかご紹介します。 BazelをGoプロジェクトで使うことのメリットBazel がすべてを用意してくれるので最悪 goコマンドが入ってなくてもビルドできる。コンテナとしてshipする際に非常に軽量なイメー

    GoとBazel
    Kesin
    Kesin 2019/10/24
    来年ぐらいにはbazelもちょっと触っておいた方がよさげかなー?
  • 1