Automated CI/CD of Multiple Projects Using TeamCity’s Kotlin DSL

In a previous article, I described a way to organize low-latency products as multiple code bases which are bound together with a Maven Bill of Materials (BOM). Understandably, this requires setting up continuous integration and deployment for a large number of similar projects. Maintaining such a setup manually in the face of change while ensuring its consistency will take a lot of effort.  In this article, I will describe how the team at Chronicle Software has tackled these issues in different projects by writing code that does this for us, in the form of Kotlin DSL for TeamCity.

This guide will show how to configure the same set of CI/CD builds for multiple Maven project repositories of similar layouts programmatically, following the DRY (don’t repeat yourself) principle. Following it will require a base knowledge of git, Maven, and TeamCity but would not require knowledge of the Kotlin language, since all of the displayed code is self-explanatory.

Unravelling the Best Practices For DevOps Testing Strategy

With time progressing, technology is transforming at a lightning speed to make the software development process much simpler, faster, qualitative, and convenient. Technologies like machine learning and AI are being utilized in several ways, not only to process qualitative and faster data but also to process predictive data. Having said that, the software development lifecycle has also evolved extensively since the last decade. Although agile is the go-to development process used by most of the development team, but since the introduction of DevOps, teams are either opting for Agile+DevOps or even implementing only the DevOps methodology. 

The basic difference between Agile and DevOps is that Agile refers to an iterative approach that focuses on collaboration, customer feedback, and rapid releases while DevOps brings the development and the operations team together to manage the end-to-end engineering process. DevOps, especially in the area of testing products, brought a paradigm shift! 

What is DevOps? A DevOps Tutorial in Plain English

DevOps… CI/CD… Docker… Kubernetes… I'm sure you've been bombarded with these words a lot the past year. Seems like the entire world is talking about it. The rate at which this segment is progressing, it won't be long before we reach the stage of NoOps.

Don’t worry. It’s okay to feel lost in the giant sea of tools and practices. It's about time we break down what DevOps really is.

Breaking Down the DevSecOps Approach

To keep pace with today’s on-demand world, organizations have shifted toward modern development practices like DevOps to immediately deliver products and services to their customers. DevOps merges software development and software operations teams, so they are no longer “siloed” under one roof. With DevOps, the development and operations teams work in concert to more cost-effectively operate and evolve applications at high speed to meet marketplace customer demands.

However, many organizations are realizing that security must play an integral role in ensuring that continuous delivery practices also embrace good security processes. What good is delivering applications at such a rapid pace if sensitive customer information is left in jeopardy?