並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 24 件 / 24件

新着順 人気順

Bazelの検索結果1 - 24 件 / 24件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

Bazelに関するエントリは24件あります。 bazeliosiOS などが関連タグです。 人気エントリには 『Bazelの解説(TS, Dockerイメージ、リモートキャッシュ)』などがあります。
  • Bazelの解説(TS, Dockerイメージ、リモートキャッシュ)

    Bazelは大規模なプロジェクトでも高速にビルドすることができる強力なビルドツールとして知られています。一方で、その仕組みや実際に使用する方法についての紹介されることは少なく、まだまだあまり普及していないと思います。特にNode.js/TypeScriptをBazelでビルドする方法についての解説はかなり珍しいと思います。 この本ではBazelによるビルドがなぜ高速なのか基本的な原理の説明から、実際に自分が作成したサンプルコードを使用してTypeScriptプロジェクトのビルド、Dockerイメージの作成までのコードを解説をし、最後のBazelの大きな特徴であるリモートキャッシュを実際に使う方法まで紹介します。 ぜひhttps://github.com/Kesin11/bazel-playgroundを手元にcloneして頂き、実際に動かしながらBazelによるビルドを体験してみてください

      Bazelの解説(TS, Dockerイメージ、リモートキャッシュ)
    • メルカリiOSアプリのBazelを使った高速・高信頼性ビルド | メルカリエンジニアリング

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

        メルカリiOSアプリのBazelを使った高速・高信頼性ビルド | メルカリエンジニアリング
      • LINEはなぜBazelを使わないことにしたのか?

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

          LINEはなぜBazelを使わないことにしたのか?
        • GoLang Desktop App with webview/Lorca, WASM and Bazel

          On my quest towards building a GoLang Desktop application I found some useful frameworks, Lorca and Webview (which I wrote about in my previous post). These frameworks create a window which GoLang can inject HTML, CSS, and JavaScript to build the UI. But I don’t want to write JavaScript(!) and deal with all the complexities that comes with it like npm, webpack, typescript… Fortunately, I can just

            GoLang Desktop App with webview/Lorca, WASM and Bazel
          • Bazelの基本的な仕組み|Bazelの解説(TS, Dockerイメージ、リモートキャッシュ)

              Bazelの基本的な仕組み|Bazelの解説(TS, Dockerイメージ、リモートキャッシュ)
            • Should rulesets distribute a pre-built artifact rather than rely on GitHub source/release archive · Issue #11 · bazel-contrib/SIG-rules-authors

              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                Should rulesets distribute a pre-built artifact rather than rely on GitHub source/release archive · Issue #11 · bazel-contrib/SIG-rules-authors
              • Bazel とお別れして make を使いはじめた話

                こんにちは。MIXI 開発本部 SREグループの riddle です。 自分の所属するプロダクトでは、ビルドツールとして Bazel を利用していたのですが、いろいろあって make に変えたので「Bazel をなぜ導入してなぜやめたのか?」 を紹介します。 <目次> Bazel とはどこに Bazel を使ってたのか?なぜ Bazel をやめたのか? 3-1. Bazel の運用コストが高かった 3-2. Bazel の速度問題 3-3. Bazel ではできないことがあるmake に移動したわけまとめBazel とは Bazel は Google が開発したビルドツールで、Java、C++、Go、Android、iOS、その他多くの言語とプラットフォームを使用してビルドとテストができます。 ローカルやリモートのキャッシュをうまく用い、アプリケーションのビルドやコンテナイメージの生成、テ

                  Bazel とお別れして make を使いはじめた話
                • LINE iOS版のビルドパフォーマンスをBazelで改善

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

                    LINE iOS版のビルドパフォーマンスをBazelで改善
                  • Bazel

                    起動からエンタープライズまで、多言語のマルチプラットフォーム プロジェクトをビルドしてテストするための Bazel オープンソース プロジェクトを選択します。

                    • LINE iOS版のビルドパフォーマンスをBazelで改善

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

                        LINE iOS版のビルドパフォーマンスをBazelで改善
                      • Ruby のコードを静的型検査する with Bazel

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

                          Ruby のコードを静的型検査する with Bazel
                        • Building Uber’s Go Monorepo with Bazel

                          You’re seeing information for Japan . To see local features and services for another location, select a different city. Show more In traditional industries such as automobile or aerospace, engineers first design the products and the manufacturing facilities produce the cars or aircrafts according to the design. In software development, a build system is similar to the manufacturing facilities that

                            Building Uber’s Go Monorepo with Bazel
                          • Bazelを使ってみる その1(Goのビルド) - Carpe Diem

                            背景 Bazelは優れたビルドツールである一方で、導入したチームには1人はBazel職人が必要と言われるほどキャッチアップコストが高くハマったときに開発が止まると言われます。 そのためKubernetesからも削除されるほどです。 しかしながら導入の善し悪しを判断する上で最低限の知識は必要なので、一通りのことはできるようにとキャッチアップしてみます。 ちなみに発音は公式サイトでは「ベイゼル」とのこと。 How do you pronounce “Bazel”? The same way as “basil” (the herb) in US English: “BAY-zel”. It rhymes with “hazel”. IPA: /ˈbeɪzˌəl/ ref: FAQ  |  Bazel Bazelの特徴 Bazelの特徴として以下があります。 ビルドの再現性が保たれる サンドボッ

                              Bazelを使ってみる その1(Goのビルド) - Carpe Diem
                            • Bazelを使ってRubyのdistroless imageを作る | うなすけとあれこれ

                              きっかけ 元々、distroless-rubyは手作業で必要なファイルを抜き出して作成したものでした。 Rubyが動くdistroless image は作ることができるのか - Qiita Rubyのdistroless imageをmagicpakで構築できるのか? ただ、この方針ではsinatraなどRuby単体で完結するプログラムは手軽に動かすことはできても、外部に依存するものがあるプログラムを動かすことはできません。具体的な例を挙げるならPostgreSQLをRubyで使用するために必要なpq gemはlibpq-devをapt経由でインストールする必要がありますが、distroless image内にはaptが存在しないのでインストールすることができません。multi stage buildを使用し、aptによって追加されたファイルを持ってくることも出来無くはないですが、依存す

                                Bazelを使ってRubyのdistroless imageを作る | うなすけとあれこれ
                              • golangとbazelで作るいい感じなビルド環境 - MJHD

                                ※Makefileに一部間違いがあったため、修正しました bazelはビルドシステムの一つで、Googleが開発し社内でも使用している。makeなどの従来のビルドシステムと比べると、簡潔な設定で幅広い言語・ビルド対象に対応していて、ビルドが必要なものはほとんどbazelで解決できる。 Bazel - a fast, scalable, multi-language and extensible build system" - Bazel 例えば、Goのビルドと同時にdockerイメージもビルドしたい、protoもビルドしたいといった場合、通常であれば個別にビルドコマンドを打つ必要があるのだが、この作業をbazelに一本化でき、とても便利。 必要な物 以下のものを使用する: 1. bazel 2. rules_go 3. gazelle 4. rules_docker rules_goはGo

                                  golangとbazelで作るいい感じなビルド環境 - MJHD
                                • 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
                                  • Bazel at Enterprise Scale | BuildBuddy

                                    Massively parallel builds with just a few lines of configuration and no maintenance burden. BuildBuddy provides remote build execution and caching as a fully-managed cloud service. Supports custom Docker images, and automatically scales to thousands of worker nodes.

                                      Bazel at Enterprise Scale | BuildBuddy
                                    • Improving Build Performance of LINE for iOS with Bazel

                                      As of October 1, 2023, LINE has been rebranded as LY Corporation. Visit the new blog of LY Corporation here: LY Corporation Tech Blog Background Over the years, the LINE for iOS source tree has grown to a size of hundreds of modules. As of late 2019, the project consists of more than 1.4 million lines of code without showing any signs of stopping its increase. This in turn, tripped up the build ti

                                        Improving Build Performance of LINE for iOS with Bazel
                                      • Bazelを使ってRubyのdistroless imageを作る

                                        きっかけ 元々、distroless-rubyは手作業で必要なファイルを抜き出して作成したものでした。 Rubyが動くdistroless image は作ることができるのか - Qiita Rubyのdistroless imageをmagicpakで構築できるのか? ただ、この方針ではsinatraなどRuby単体で完結するプログラムは手軽に動かすことはできても、外部に依存するものがあるプログラムを動かすことはできません。具体的な例を挙げるならPostgreSQLをRubyで使用するために必要なpq gemはlibpq-devをapt経由でインストールする必要がありますが、distroless image内にはaptが存在しないのでインストールすることができません。multi stage buildを使用し、aptによって追加されたファイルを持ってくることも出来無くはないですが、依存す

                                          Bazelを使ってRubyのdistroless imageを作る
                                        • Haskell Stack プロジェクトを Bazel でビルドしてみる

                                          仕事では Bazel を使ってビルドすることが多くなり,自分でも Bazel ルールを自作するようになったので,実験も兼ねて趣味の Haskell Stack プロジェクトを Bazel を使ってビルドしてみることにしました. 本記事はそのメモ書きです. あとこれは Haskell Advent Calendar 2020 の2日目の記事です. Bazel Bazel は Google のエンジニアが中心になって開発している OSS のビルドツールだ. 以下のような特徴がある: 必要なコマンドのインストール・バイナリのビルド・コマンドの実行などを記述できる それらは全て専用のサンドボックス内で実行されるため再現性が高い Starlark という Python 風な独自言語で記述する キャッシュなどが工夫されており二度目以降のビルドが高速になりやすい 依存関係を明確に記述する必要がある また

                                          • Bazel で Go のソースコードをビルドするぞ

                                            Goの開発で Bazel を使っているので簡単にまとめてみました。 サンプル用のプロジェクトを作ったのでこれをもとに進めていこうと思います。 GitHub - righ/bazel-sample-projectContribute to righ/bazel-sample-project development by creating an account on GitHub.https://github.com/righ/bazel-sample-project 利用する Bazel のバージョンは以下です。 infoBazeliskというツールを使うとプロジェクトで利用する Bazel のバージョンを固定できます。GitHub - bazelbuild/bazelisk: A user-friendly launcher for Bazel.A user-friendly launch

                                              Bazel で Go のソースコードをビルドするぞ
                                            • Go with Bazel

                                              この本では、Go言語とBazelを使ってモノレポを構築する方法を解説します。 Bazelはオープンソースのビルドツールです。MavenやGradleのようなツールですが、日本で採用している企業は少なく、最新の使い方を解説した日本語の情報はほとんどありません。 そのため難しい・複雑である・扱えないといったイメージをもつ方が多く、実際に導入したもののメンテナンスの難しさから撤退したという話も聞きます。 少なくともGoをメインに採用する場合、最近のツールの進歩によりBazelを取り扱うことは比較的容易になってきていると感じます。 この本では、Bazelの基本的な使い方から、Go言語を使ってビルド、テストなどを行い、最終的にビルドしたバイナリをマルチプラットフォームイメージとしてコンテナレジストリに登録するところまでを扱います。 Bazelはあくまでビルドツールであるため、それらのアーティファクト

                                                Go with Bazel
                                              • ゆるいBazelルールの歩き方 - Qiita

                                                Bazelは再現性に優れた、強力なビルドツールとして利用することができます。実際、会社ではビルド環境としてBazelが使われています。弊社では使用されている実績は以下の記事が詳しいです。 Bazel で複数の values.yaml のイメージタグを一括置換する Bazelとモノレポ GoとBazel 私もプロジェクト内でシェルスクリプトであったり、MakefileにやらせていたことをBazelのルールに一気に置き換えたりしてBazelに慣れてきました。 これを読んだみなさんが、Bazel ルールを書きたいけど、どこから手を付ければいいのか?となった時に参考になれば幸いです。 Bazelで出来ること ソフトウェアのビルドに使われることの多いBazelですが、以下のことがまず基本的にできます。 ファイル/アーカイブのダウンロード repository_rule ファイルの実行 actions

                                                  ゆるいBazelルールの歩き方 - Qiita
                                                • Micro Modular Architecture with Bazel

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

                                                    Micro Modular Architecture with Bazel
                                                  1

                                                  新着記事