Continuous Integration and Continuous Delivery/Deployment
(CI/CD) are foundational practices in the DevOps lifecycle, facilitating the automated merging of code changes and deployment across environments. Despite their critical role in modern software development, CI/CD pipelines are particularly susceptible to the challenges posed by the proliferation of diverse technologies, especially during adoption and migration. In this paper, we introduce a model-driven methodology designed to abstract away the tool-specific complexities typically encountered in CI/CD pipelines. Our approach begins with an empirical analysis of open-source software repositories to identify patterns and practices in the usage of various CI/CD tools in realworld projects. From this analysis, we derived a metamodel that captures the base concepts and structures common to a wide range of CI/CD technologies. This metamodel forms the basis of a model-driven framework that allows users to define CI/CD pipelines at a higher level of abstraction, independent of any specific tool or platform. To operationalize our approach, we developed a command-line interface capable of generating user interfaces directly from the metamodel. Building on this, we designed a block-based visual language aligned with the metamodel, enabling users to construct CI/CD pipelines visually. These visual models can then be automatically translated into platform-specific configuration files, supporting multiple CI/CD systems. Our solution is especially beneficial in migration scenarios, where transitioning between different CI/CD tools can be both timely and error-prone. By automating the generation of configuration artifacts and providing semantic mappings across tools, our approach significantly reduces the manual effort and complexity involved in such migrations.
Hi, my name is Hugo da Gião, I am currently doing research at the intersection of DevOps and Model-driven engineering, and i am a researcher at HASLab/INESC TEC. I am also a Ph.D. student in Informatics Engineering at FEUP working on a thesis titled “A Model-driven approach to DevOps” whose end goal is to research methodologies and tools that would allow developers to create different DevOps pipelines without resorting to the use of specific tools. I also did research in the field of visual languages where I worked on creating a visual language to allow non-technical users to solve optimization problems.
Tue 7 OctDisplayed time zone: Eastern Time (US & Canada) change
10:30 - 12:00 | |||
10:30 22mTalk | Towards Secure IoT Deployments: A DSL and Digital Twin-Based Emulation Platform for Security Verification Doctoral Symposium Leonard Tudorache Eindhoven University of Technology | ||
10:52 22mTalk | LLM-Based Generation of Low-Code Development Platforms Doctoral Symposium Bernhard Schenkenfelder Software Competence Center Hagenberg (SCCH) | ||
11:15 22mTalk | A Model-Driven Approach for CI/CD Doctoral Symposium Hugo da Gião University of Porto & HASLab/INESC TEC | ||
11:37 22mTalk | Towards Efficient Offline Incremental Model-to-Text Transformations Doctoral Symposium Adam Blanchet University of York | ||
