Home / Companies / Aspect Build / Blog / June 2021

June 2021 Summaries

2 posts from Aspect Build

Filter
Month: Year:
Post Summaries Back to Blog
Bazel is a build tool that offers a unique approach by requiring engineers to explicitly describe the dependencies of their application, which allows the system to keep outputs up-to-date, fast, and incremental. Unlike other build systems that permit any code to depend on anything, Bazel requires users to group source files into "targets" and specify other targets they depend on, which can enhance build efficiency by minimizing unnecessary re-builds. This process, although requiring some initial work, is often facilitated by tools that automate much of the dependency declaration. Properly defining the dependency graph ensures more accurate and reliable outputs, while also helping to identify and correct undesired dependencies. Bazel's output is a filesystem tree, and it optimizes build processes by reusing previous build results when inputs haven't changed, reducing redundant work and supporting efficient continuous integration (CI) testing.
Jun 10, 2021 1,014 words in the original blog post.
The text discusses the evolution and challenges of build systems and Continuous Integration (CI), using Jenkins as a case study. Initially, Jenkins was used alongside smaller-scale build systems for frontend and backend code, but as integration needs grew, Jenkins evolved into a comprehensive build system through plugins and customization, making it a complex tool that could only run in a CI environment. This shift led to difficulties in reproducing failures locally, causing delays as engineers waited for CI feedback. The author highlights the advantages of using Bazel, a build system that allows for local reproducibility and can effectively replace the CI paradigm by enabling a local server to run build loops, thereby addressing inefficiencies and redefining traditional CI concepts.
Jun 01, 2021 624 words in the original blog post.