Storskalig CI/CD med ett Eiffel-integrerat Jenkins-plugin
Ladda ner
Publicerad
Författare
Typ
Examensarbete på kandidatnivå
Bachelor Thesis
Bachelor Thesis
Program
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
Today, companies are facing a challenge of increasing software demand and complexity. A key part of the strategy is to overcome this by using continuous integration and deployment (CI/CD). One of the most popular tools for managing CI/CD flows is the automation server, Jenkins. At the time of writing this, Jenkins lacks native support for automation via standardized event-driven job triggering using protocols such as Eiffel. This forces companies to develop their own solutions, which often lead to poorly developed software and lack of company collaboration on an enterprise level. Together with Nexer, this thesis has set the goal to lay a foundation for a solution. By enabling Jenkins to trigger work instructions in an event-driven and automated way using Eiffel events. The development process followed an iterative, test-driven approach, supported by continuous validation of prototypes. The result is a functional Jenkins plugin capable of responding to Eiffel events, a reusable configuration system for defining filter rules, and a user-friendly interface for managing them. Additionally, a standalone component was developed to receive and process incoming Eiffel events. Looking forward, the thesis proposes a dedicated orchestration service to manage multiple EiffelManager instances. This concept would enhance scalability, observability, and fault tolerance, making it suitable for large-scale CI/CD infrastructures. Overall, the work indicates that extending Jenkins to support event-driven workflows using Eiffel is both feasible and valuable, offering a path toward more standardized and collaborative enterprise CI/CD pipelines.
Beskrivning
Ämne/nyckelord
CI/CD, Continuous Integration, Continuous Development, Jenkins, Eiffel, RabbitMQ, Pipeline
