---
title: "Continuous Delivery"
url: https://www.grahambrooks.com/tags/Continuous-Delivery/
---

# Continuous Delivery

- [Open source update: six new tools and what changed, September to October 2026](https://www.grahambrooks.com/post/open-source-update-october-2026/index.md) (2026-10-25): A roundup of my public GitHub projects from 1 September to 25 October 2026: 92 releases across 27 repositories, six tools released for the first time or never introduced here, the releases that changed behaviour, and the work sitting on main that hasn't shipped yet.
- [teleplot 2026.10.0: Kibana dashboards without Kibana, in one binary](https://www.grahambrooks.com/post/teleplot-first-release/index.md) (2026-10-25): teleplot v2026.10.0 is the first release of a single-binary, view-only dashboard server that renders Kibana exports and its own YAML dashboards straight from Elasticsearch 8.x and 9.x.
- [infographic v2026.10.1: the first release, with animated SVG explainers from a one-line request](https://www.grahambrooks.com/post/infographic-first-release/index.md) (2026-10-25): infographic v2026.10.1 is the first release of a Claude Code skill and Rust CLI that turn a one-line request into an animated, checked SVG explaining a technical pattern, with prebuilt binaries for macOS and Linux.
- [backstage-catalog-graph v2026.10.24: the first public release, with a graph you can navigate](https://www.grahambrooks.com/post/backstage-catalog-graph-first-release/index.md) (2026-10-25): backstage-catalog-graph v2026.10.24 is the first public release of editor plugins for VS Code and JetBrains IDEs that draw a Backstage catalog-info.yaml as a graph, with dashed placeholders for everything the file references but doesn't declare.
- [symgraph v2026.10.18: a vendored minified file stops topping your dependency graph, and an export for analytics](https://www.grahambrooks.com/post/symgraph-2026-10-18-export/index.md) (2026-10-19): symgraph v2026.10.18 keeps generated and minified code out of the dependency graph and adds `symgraph export`, which writes coupling and per-commit change-impact records as JSON Lines.
- [puml 2026.10.2: diagrams as diagram-scene scenes, and lost messages parse](https://www.grahambrooks.com/post/puml-2026-10-2-scenes/index.md) (2026-10-14): puml 2026.10.2 can hand sequence, class, activity and state diagrams to a host application as diagram-scene scenes, and parses PlantUML's lost-message arrow. The rest is dependency updates.
- [forge 2026.10.2: forge as a library, with views as diagram-scene scenes](https://www.grahambrooks.com/post/forge-2026-10-2-library/index.md) (2026-10-14): forge v2026.10.2 can be used as a Rust library that parses a .forge model and lays its views out as diagram-scene scenes, so a host application can draw them natively. The rest of the release is dependency updates.
- [The release pipeline four tools kept reinventing (release-kit)](https://www.grahambrooks.com/post/release-pipeline-as-a-tool/index.md) (2026-09-27): Once you have more than a few single-user tools, the release process is a tool too. Its one user is you, and copying it into every repo is the per-repo config layer all over again. release-kit v2 moved four Rust tools onto one tag-driven pipeline, and a fix to it became a copy rather than four separate repairs.
- [Stop declaring what you can already read (myspec)](https://www.grahambrooks.com/post/stop-declaring-what-you-can-read/index.md) (2026-09-27): Once an agent's toolchain has enough moving parts (plugins, skills, MCP servers, modes, hooks), convention and hope stop being enough, and it needs the discipline of a real system: versioned migrations, deterministic gates, and one source of truth per fact. In myspec, the clearest example was a mode flag the developer had to set by hand. It drifted, and the proposed fix is to read the mode from where it already lives.
- [forge 2026.9.8: a JetBrains preview and models on stdin](https://www.grahambrooks.com/post/forge-2026-9-8-jetbrains-preview/index.md) (2026-09-26): forge 2026.9.8 adds a live diagram preview plugin for JetBrains IDEs and lets build, check and export read a model from stdin, so unsaved editor buffers can be rendered.
- [Cadence is a budget line: what scheduled automation cost a private repo](https://www.grahambrooks.com/post/cadence-is-a-budget-line/index.md) (2026-09-26): My GitHub Actions budget ran out, and development CI wasn't what used it up. Automation that mostly found nothing to do spent it. In a private repository, how often a scheduled workflow wakes up is a cost decision rather than a latency decision, and automation should be designed around what each wake-up costs.
- [A Control Plane for a Personal GitHub Account](https://www.grahambrooks.com/post/automating-github-account-management/index.md) (2026-07-25): Running 120+ personal repositories as a self-sustaining estate: config-as-code, scheduled workflows, a deliberately non-admin GitHub App, and a bounded role for the model.
- [User-defined build settings for Bazel builds](https://www.grahambrooks.com/post/2021-08-30-user-defined-bazel-arguments/index.md) (2021-08-30)
- [Installing built binaries locally with Bazel](https://www.grahambrooks.com/post/2021-05-31-bazel-local-install/index.md) (2021-05-31)
- [Go and Bazel to build containers](https://www.grahambrooks.com/post/2020-04-05-go-bazel-container/index.md) (2020-04-05): Yesterday I spent some time experimenting with building containerized Go applications. Writing a small restful web service in go is really quite straightforward and there are many better examples out there on the web. What was interesting for me was…
- [Build Analytics - better development understanding](https://www.grahambrooks.com/post/2015-01-19-build-analytics/index.md) (2015-01-19): Working with small teams is a lot of fun and I find it fairly easy to keep track of what is happening with version control and build systems. Errors and failures don’t come up that often and when they do…
- [Service IoC containers](https://www.grahambrooks.com/post/2014-04-07-service-ioc-containers/index.md) (2014-04-07): How can we get the benefits of IoC containers at a higher level - the services that we deploy into environments? Typical service tiers are implemented with a fronting load balancer that allocates servers to satisfy requests. Applications or services…
- [lazybuilder v0.3](https://www.grahambrooks.com/post/2014-02-23-lazybuilder-v0-3/index.md) (2014-02-23): The idea for lazybuilder came up during a recent coding dojo doing code kata. We were using Vim and a separate terminal to run the tests. Switching back and forth between two windows when trying to move quickly seemed like…
- [Java build tools 2013](https://www.grahambrooks.com/post/2013-11-15-java-build-tools-2013/index.md) (2013-11-15): I am about to embark on a new Java project so I thought I would take a look at the current state of build tools for Java projects. First I thought I would draw up some assessment criteria to use…
- [ci console 0.0.2 released](https://www.grahambrooks.com/post/2013-10-12-ci-console-0-0-2-released/index.md) (2013-10-12): I like to commit code frequently when working on a project. I also like to use the command line for building, testing and committing code. So I thought it would be nice to have a way to check the build…
- [Zero Down-time - relational databases](https://www.grahambrooks.com/post/2013-08-29-zero-down-time-relational-databases/index.md) (2013-08-29): Continuous Deployment is the act of automatically deploying an application every time the build is successful. I am currently working with a development team that is working towards continuous deployment as part of their continuous delivery adoption plans. The system…
- [Automated refactoring for library updates](https://www.grahambrooks.com/post/2012-07-23-autmated-refactoring-for-library-updates/index.md) (2012-07-23): After watching Clang MapReduce – Automatic C++ Refactoring at Google Scale I was struck with the idea that this could help with the upgrade problem. Almost every application uses libraries. Those libraries need to be updated from time but each…
- [AgileDC - Introduction to Continuous Delivery](https://www.grahambrooks.com/post/2011-10-27-agiledc-introduction-to-continuous-delivery/index.md) (2011-10-27): Yesterday I presented a talk entitled Introduction to Continuous Delivery at AgileDC . The audience was great and the room packed which is always a recipe for success. I really enjoyed talking about Continuous Delivery and there were some really…
- [Agile DC](https://www.grahambrooks.com/post/2011-10-25-agile-dc/index.md) (2011-10-25): I am really syched about talking at AgileDC tomorrow. The topic of my talk is an Introduction to Continuous Delivery
- [Create MySQL database with Capistrano](https://www.grahambrooks.com/post/2011-01-24-create-mysql-database-with-capistrano/index.md) (2011-01-24): I was playing about with Capistrano over the weekend. I wanted to automate the deployment of a Rails application to my server. The server was (I thought) just about ready to accept the app but I did not want to…
- [Rake db:migrate MySQL gem dependency](https://www.grahambrooks.com/post/2011-01-24-rake-dbmigrate-mysql-gem-dependency/index.md) (2011-01-24): If you have already added gem ‘mysql2’ to your Gemfile but get a message saying that it is missing when you try to migrate Make sure that you have installed libmysql-ruby sudo apt-get install libmysql-ruby This one caught me out…
- [Optimising build times](https://www.grahambrooks.com/post/2010-06-28-optimising-build-times/index.md) (2010-06-28): I just came across this post and want to remember it so posing here. http://doublebuffered.com/2009/02/11/optimizing-build-times-for-large-c-projects/ . I am most interested in the uplift in compilation time based on unused #includes and build reductions for SSDs.
- [Server Rebuild - Part II](https://www.grahambrooks.com/post/2010-02-25-server-rebuild-part-ii/index.md) (2010-02-25): So after having the server nicely set up and ready for configuration I could not resist just ‘getting on with it’. I had grand plans to plan it out and record everything (good practice) but each step seemed so simple…
- [Cross post: A Brief And Incomplete History Of Build Pipelines](https://www.grahambrooks.com/post/2009-12-13-cross-post-a-brief-and-incomplete-history-of-build-pipelines/index.md) (2009-12-13): Sam Newman has just published a Brief And Incomplete History Of Build Pipelines which makes interesting reading. It will be interesting to see where the concepts take us in the next few years.
