Object-Oriented Build Automation – A Case Study

Authors

  • Maciej Penar Vulcan sp. z o.o., 51-116 Wroclaw, Poland
  • Wiktor Zychla University of Wroclaw, Faculty of Mathematics and Computer Science, Wroclaw, Poland

DOI:

https://doi.org/10.31577/cai_2021_4_754

Keywords:

Build automation, continuous integration, object oriented approach, incremental build, .NET, Cake Frosting

Abstract

Fast and precise build and deployment automation is a fundamental task for every project oriented on rapidly appearing changes. As a rule of thumb, the tools used for this task work as procedural-declarative frameworks – often overlooking the extra requirements for large projects like easy parallelization, precise targeting of specific subsystem or general code readability. In this article we document our findings in build automation as we have abandoned the procedural-declarative approach to object-oriented perspective of our setup environment – all implemented in the .NET build automation framework Cake Frosting. Due to the clear separation of the various layers of our system and our codebase we are able to fire up our new build-deployment routines at ease and at specific part of our ecosystem. As the whole routine is written as a C# console application we can easily manage some aspects of parallel execution (i.e. number of threads) of some tasks which results in great drop of job execution time. To further improve the execution time, we introduce the concept of proof-of-work which is a file that stores the information about the last successful build. Together, all of our concepts resulted in a fast build-deployment routine – as in pessimistic scenario we managed to drop to about 30 % of the original time. We believe that others may benefit from our case study as the concepts proposed here can be easily incorporated to any other project written in .NET (or one that is built using object-oriented command-line application) – though we would not recommend using our approach in small projects (in terms of KLOC).

Downloads

Download data is not yet available.

Downloads

Published

2021-12-14

How to Cite

Penar, M., & Zychla, W. (2021). Object-Oriented Build Automation – A Case Study. Computing and Informatics, 40(4), 754–771. https://doi.org/10.31577/cai_2021_4_754

Issue

Section

Special Section Articles