Home » CI/CD

Tag Archives: CI/CD

Release a Gradle Project Using GitLab CI/CD Pipeline

I’ll show you how to configure Gradle build for a Java/Scala project and integrate it with GitLab CI/CD so that it can be automatically released and published to a Maven repository. The example uses Axion release Gradle plugin to manage version number using git tags and Maven Publish Gradle plugin to upload artifacts to a Maven (Nexus) repository. As an ...

Read More »

Faster Builds vs Stable Builds

We have a very comprehensive set of tests on our Java server application. There’s a mix of quick unit tests and slower integration style tests which test some of the behaviour of the plain HTML pages by executing requests using HtmlUnit to simulate the browser, with a fake back end. Other tests use Docker to simulate services like MySQL or ...

Read More »

The Live Database Pipeline

Evolutionary Database Design is a slightly counterintuitive approach to managing a database. On the one hand, we think of our databases as towers that we must defend from any old change and must deploy to carefully. On the other hand, if we can get very good at deploying incremental changes to a database, and keeping track of them, then we ...

Read More »

Path To Continuous Test Automation Using CI/CD Pipeline

Introduction to CI/CD Continuous Integration and Continuous Deployment pipeline has become the primary approach in Software Development Life Cycle(SDLC). As a matter of fact, CI/CD pipeline tools have evolved a lot in the past few years. However, still developers, QA and other technical peeps find challenges in implementing an effective CI/CD pipeline. As the name suggests, it allows developers to ...

Read More »

The Case Against CI/CD

I present now the case against CI/CD: It’s expensive to set up CI/CD pipelines, and the cost of doing so is not paid backIt’s expensive to maintain CI/CD pipelines so they keep working – this is not adding value to the softwareHow do I justify the provision of capacity to release several times a day, compared with our usual quarterly ...

Read More »

Going Native

If I look at recent projects, I’ve used various forms of Git, a few variations on Jenkins, and the leading repository services – Artifactory and Nexus. In general, most of my recent work has been backed in some ways by AWS. Similarly, most of the services, have been self-hosted. I can’t quite bring myself to switch from GitHub or GitLab ...

Read More »

Notes on CodeBuild and CodePipeline

Shall we use Jenkins or CodeBuild? The eternal question. On the one hand, Jenkins allows you define builds and pipelines inside your repository, on the other hand, a Jenkins server is something of a beast to maintain. CodeBuild and CodePipeline are essentially serverless Jenkins… but with some key stuff missing What’s Missing? Some Bad Things Are Gone Server patchingManagement of ...

Read More »

Third Time Around

As I move between clients, I’m building a playbook of tools I like to have/make in order to help manage the environment. While I remember how a tool needs to be made, each environment calls for a different implementation. I’ve recently rebuilt a classic tool, and I was surprised how I approached it differently. The Jenkins Build Visualizer The original ...

Read More »

Comprehensive Guide To Jenkins Declarative Pipeline [With Examples]

Jenkins Pipeline is an automation solution that lets you create simple or complex (template) pipelines via the DSL used in each pipeline. Jenkins provides two ways of developing a pipeline- Scripted and Declarative. Traditionally, Jenkins jobs were created using Jenkins UI called FreeStyle jobs. In Jenkins 2.0, Jenkins introduced a new way to create jobs using the technique called pipeline ...

Read More »