Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Investigating the Possibility for an Active/Active Highly Available Jenkins
KTH, School of Information and Communication Technology (ICT).
2013 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

Jenkins can play an important role in software development. If Jenkins would be shut down because of failure, it would mean a halt in the development process. This thesis investigates the possibility of increasing the fault tolerance of Jenkins by running multiple instances of Jenkins in parallel and let them cooperate and share the load. In case failure occurs to one Jenkins, another Jenkins can take over. The major restriction was to not modify the source code of Jenkins.

The results of the investigation are that Jenkins can be modified to achieve high availability in the form of an active/active solution. Events in Jenkins related to build jobs can be replicated, these include: creating, modifying and deleting build jobs, also replication of builds can be replicated. The data replication technique had to be done asynchronously which introduced problems such as data collisions and ping-ponging. No solutions were found that could avoid data collisions; however, they can be detected and resolved.

A major issue is that other plugins in Jenkins could not be made aware of there being more than a single Jenkins. This issue and areas such as synchronization of user accounts, and the behavior of Jenkins slaves, needs to be further investigated.

Abstract [sv]

Jenkins kan ha en viktig roll i utveckling av mjukvara. Om något skulle hända med Jenkins som leder till att den blir avstängd betyder det att utvecklingsprocessen kan bli påverkad. I den här rapporten undersöks möjligheter för att höja felsäkerheten hos Jenkins genom att kunna köra flera instanser av Jenkins parallellt. Dessa ska kunna samarbeta och dela lasten med varandra och om ett fel inträffar hos en Jenkins ska en annan Jenkins kunna ta över. Restriktionen var att källkoden av Jenkins inte fick modifieras.

Resultatet visar att Jenkins kan bli modifierad för att höja felsäkerheten i form av en aktiv/aktiv-lösning. Händelser i Jenkins som är relaterade till bygg jobb kan bli replikerade, dessa inkluderar att skapa och att ta bort bygg jobb. Exekveringar av bygg jobb kan också replikeras. Tekniken för att replikera data behövdes göras asynkront vilket introducerade problem med datakollisioner och ping-ponging. Att undvika datakollisioner hittades ingen lösning på, de kan dock bli detekterade och lösas.

Ett av de största problemen var att andra plugin i Jenkins inte kunde göras medvetna om att det fanns fler än en Jenkins. Detta problem, och delar så som användarkonton och Jenkinsslavar behöver undersökas ytterligare.

Place, publisher, year, edition, pages
2013. , 52 p.
Series
Trita-ICT-EX, 2013:119
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:kth:diva-128413OAI: oai:DiVA.org:kth-128413DiVA: diva2:647478
Educational program
Master of Science - Software Engineering of Distributed Systems
Examiners
Available from: 2013-09-11 Created: 2013-09-11 Last updated: 2013-09-11Bibliographically approved

Open Access in DiVA

fulltext(1145 kB)1660 downloads
File information
File name FULLTEXT01.pdfFile size 1145 kBChecksum SHA-512
be0aed30487927cad0771f9c22ac34528ea5ec3587dd3f64e9666b83ee38af0f95628e5017398a00108f1105126126e6a2daee02fb657bb1e81fb950441a1640
Type fulltextMimetype application/pdf

By organisation
School of Information and Communication Technology (ICT)
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar
Total: 1660 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 157 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf