Category · 13 posts
Build Bullet
2013
-
Beautiful Builds: Release Compilation Step
Imagine you could only compile once a week. Once every two weeks. Once a month. Scary? All that code that you write blindly, not knowing whether it even compiles. All those hidden errors lurking, accumulating in the…
-
Build Pattern: Cumulative Build
Note : This will become part of my book on beautiful builds . Any comments or feedback are more than welcome, as well as ideas of other common build patterns you see in the wild. Other Names: Distilled Build…
-
Tests and Builds are Made to be Broken
Many agile teams seem to be very focused on not breaking the build. I myself used to jokingly say that your team should have a “I Broke the Build” T-Shirt, to switch between team members. That was a mistake. I think…
-
Build Pattern: Gated Commit
Other names: Pre-tested commit Gated Check-in Private Build Delayed Commit Symptoms: The build keeps breaking for trivial problems. Problem: Developers do not know what are the outcomes of committing their source code…
-
Build Pattern: Extract Script
This is a variation of Fill in the blanks and will become part of the Builds Book. Symptoms: You have multiple build scripts that contain parts that execute the same set of complicated actions, differing only by path…
-
Build Pattern: Fill In the Blanks
Other names: DRY Build Scripts (Don’t Repeat Yourself) Infrastructure agnostic scripts Parameterized Scripts Fill In the Blanks Symptoms: You find yourself having to change the script in many places, because a single…
-
Build Pattern: Location Agnostic Script
Symptoms: Running the build script on a machine where it was never run before requires extra pre-work to make the machine ready, such as mapping drives, creating a special build script folder etc. Problem: The build…
-
Build Pattern: Shipping Skeleton
I am slowly realizing that perhaps my concepts for the build book could be better serving as reusable patterns for creating builds, solving specific problems. Pattern: Shipping Skeleton other names: “Hello World”,…
2012
-
Build Bullet #5– How to make your builds FAST using DRY and SRP Principles
(this will become part of my upcoming booklet on beautiful builds ) One of the things that kept frustrating me when I was working on various types of build configurations in our CI server, was that each build in a…
-
Build Bullet #4: Rolling Builds and the Plane of Confidence
When I check in code I have been working on, I feel: 1. I want to wait for the build result 2. I don’t want to waste time waiting for the build results, doing nothing 3. But I fear doing something in the code until I’m…
-
Build Bullet #3– Start Products with an Empty Build and Deploy Pipeline
Builds can be nasty beasts when It’s finally time to organize and do them. There are so many things you did not think about, that it can take days or weeks to come up with a build for an existing system. To avoid the…
-
Build Bullets #2–Avoid XML Facing Build Tools
Having your build scripts in XML is one of the worst things you can do for maintainability and readability. Treat your build scripts like you treat your source code (or, how developers should treat their source code) –…
-
Build Bullet #1 - Use Version Aware Build Scripts
I am thinking of writing a small booklet about better builds . this blog post might end up as a part of it . Let me know if you’re interested by taking a look here. While I do love to use Continuous Integration Servers…