How pursuit of simplicity complicates container-based CI
May 24, 2022Darwin Sanoy

Summary
This post discusses the trade-offs and potential antipatterns of using specialized containers in CI/CD pipelines. It argues that while containers embody complexity, the pursuit of simplicity through hyper-specialized containers can lead to efficiency reversals by shifting complexity management to the CI YAML and shell script code. The author proposes a strategy of using a more generalized container (e.g., Bash 5) and installing necessary utilities at runtime, or creating pipeline-specific containers only when runtime installs exceed the overhead of specialized containers. This approach aims to maintain control over complexity and avoid undifferentiated heavy lifting.