Running Deployments with Github Actions

In a previous article I wrote about Getting Started with Github Actions . In it, I talk about the basics of Actions, how they work, what the language looks like and how you can get started. If you’ve never used Actions before, I highly recommend you have a quick read of that before reading this, as I build on some of the ideas presented there. Continuous Integration (CI) versus Continues Deployment (CD) versus Continuous Delivery (unhelpfully, also CD) Put simply, continuous integration is the act of continually moving your changeset into the wider codebase, as frequently as it makes sense for your use case. CI is an essential practice because it drives us as engineers to produce smaller changes more often, and these small changes tend to be less risky individually. Those small changes also lead us to deliver value to our users more rapidly, and more often. ...

July 13, 2020 · 11 min · Alex

Getting Started with Github Actions

Continuous Delivery is a foundational skill that your organisation needs to be good at if it is to remain responsive and ’lowercase a’ agile. A full solution for continuous delivery tends to include (but isn’t limited to): The ability to create artefacts that we can release to production, across many products, teams, branches, environments and repositories. The ability to quickly validate an artefact as a candidate for release (through applying the testing triangle - unit, integration, acceptance, smoke and so on). The ability to release code to production without necessarily activating it for users (typically through feature flags, canary built and graduated rollouts). The ability to rapidly respond if a release candidate we later find to be problematic (again through canary builds, graduated rollouts, and by quickly rolling back software found to be problematic). The ability to audit or understand what code is where, what state that code is in, and why that code is where it is. More concretely, a decent CI/CD solution will: ...

May 28, 2020 · 13 min · Alex

Spring Boot - Comparing Liquibase and Flyway

What are Spring Boot, Liquibase and Flyway? The Spring Ecosystem When you need to create a web application or an API in Java, be that RESTful, SOAP or GraphQL; whether you’re looking at synchronous HTTP, Asynchronous or Reactive, Messages on Queues or Event Sourced with Kafka, it’s hard to go past the Spring Ecosystem. If nobody ever got fired for buying IBM, you could probably say that nobody ever got fired for creating a Spring-based application. ...

April 23, 2020 · 9 min · Alex