Bachelorthesis: Analysis of Continuous Integration in GitLab

Continuous Integration (CI) is an essential part of today’s software engineering. Numerous platforms offer services for establishing CI in engineering projects. As the support by platforms like Gitlab grows, so does the complexity of the CI processes. It is easy for a CI process to include several stages spanning over multiple distributed repositories. Yet, in most cases optimization of these processes is not part of the CI services offered by the platforms. This inevitably leads to complex, and oftentimes inefficient, CI processes which tend to be time and resource consuming.

The goal of this thesis is to explore ways to optimize modern day CI services using RWTH instance of Gitlab as a first use case. As a foundation the concept of project information modeling should be utilized to analyze project as well as CI structures. Based on these models, data on the current state of a project and its CI needs to be gathered to facilitate improving the CI process. In the end, the use of project information models should provide a new methodology to optimize CI services in general.

Goals

  • Become acquainted with the concept of project information modeling
  • Create information models for CI process in GitLab
  • Explore ways to improve CI pipelines based on specific information gathered from projects and CI processes in GitLab.
  • Create a methodology to improve CI pipelines in general.
  • Apply the new methodology to other platforms

Desired Courses & Knowledge

  • Lecture: Software Language Engineering (SLE)
  • Interest in Software Engineering
  • Experience in object oriented programming especially Java
  • Experience in GitLab and its CI framework
  • Be motivated, be self-reliant but don’t be afraid to ask questions
  • Good German or English skills

Contact

Interested? Look for additional publications about our research on ArtifactBased Analysis.

For more information please contact Constantin Buschhaus or Steffen Hillemacher.

Taskdescription:

Prof. Dr. Bernhard Rumpe
Lehrstuhl Software Engineering
Ahornstr. 55
52074 Aachen