DevOps is a popular, high-level term that describes practices relating to how applications and their infrastructure are created and maintained, but how does the DevOps lifecycle relate to the day-to-day tools your teams use?
In this blog series, we walk through configuring Jenkins, Octopus, and Kubernetes to build, release, deploy, and maintain a legacy Java application. Each post takes you one step further through the DevOps lifecycle with practical examples, real-world advice, and code you can use in your projects:
- From JAR to Docker
- From local builds to Continuous Integration
- From Continuous Integration to Kubernetes deployments
- From Continuous Integration to release management
- From release management to operations
Related posts

The productivity delusion
Find out why measuring productivity is a fast-track to failure and what to do instead.

Deploying LLMs with Octopus
LLMs are now a common component of modern applications, but deploying them with Kubernetes requires careful consideration. This article explores the challenges and best practices for deploying LLMs in a Kubernetes environment.

The reality of GitOps application recreation
GitOps promises recreatable applications, but 54% of teams say 'partially.' Why confidence dips before soaring and what complete recreation actually requires.