CI/CD pipeline for SSO service

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2021-03-15
Department
Major/Subject
Computer Science
Mcode
SCI3042
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
47 + 6
Series
Abstract
Contemporary web services are having a ruthless competition over attracting new users to the service. This has led to an increasing need to provide new interesting and useful features for the users faster than ever before. To keep up with the pace, there is a need for a robust and fully automated process of delivering software. Practices of DevOps, Continuous Integration (CI) and Continuous Delivery (CD) have become prevalent in software organizations of any size. The goal of this thesis is to produce a CI/CD pipeline implementation to automate the processes of testing and deploying for a Single Sign-On (SSO) service. The pipeline should allow demonstration of unfinished features for other stakeholders without affecting other service instances. The pipeline should also be used by other services with minimal effort by utilizing high-level components. The implemented pipeline successfully automated testing and deploying processes of the SSO service. The pipeline was implemented in a separate repository and was successfully taken into use in another service. Finally, the pipeline allowed dynamically create and delete new service instances by using Version Control System. However, these dynamic instances were not functioning correctly for SSO service because of required trust in the authentication process that SSO is part of.

Nykyaikaisten verkkopalvelujen välillä on armoton kilpailu uusien käyttäjien houkuttelemisesta. Tämä on johtanut tarpeeseen tarjota käyttäjille uusia mielenkiintoisia ja hyödyllisiä ominaisuuksia nopeammin kuin koskaan ennen. Tämän tarjoamiseksi tarvitaan vakaata ja täysin automatisoitua ohjelmistojen toimitusprosessia. DevOpsin, Jatkuvan Integraation ja Jatkuvan Toimituksen periaatteet ovat yleistyneet alan kaikissa organisaatioissa vastaamaan tähän tarpeeseen. Tämän työn tavoitteena on tuottaa jatkuvan integraation toteutus, joka automatisoi testaus- ja käyttöönottoprosessit kertakirjautumispalvelulle (SSO). Toteutuksen tulisi sallia keskeneräisten ominaisuuksien esittely vaikuttamatta muihin ajoympäristöihin. Toteutusta tulisi käyttää myös muissa palveluissa pienellä vaivalla hyödyntämällä yleisen tason komponentteja. Toteutettu ratkaisu automatisoi SSO-palvelun testaus- ja käyttöönottoprosessit. Ratkaisu toteutettiin käyttämällä erillistä säilöä komponenteille, jota käytettiin onnistuneesti toisessa palvelussa. Lopuksi toteutus mahdollisti dynaamisesti uuden ajoympäristön luomisen ja poistamisen käyttämällä versionhallintajärjestelmää. Nämä dynaamiset ajoympäristöt eivät kuitenkaan toimineet oikein SSO-palvelussa. Tämä johtuu SSO-palvelun osallisuudesta todennusprosessiin, jossa vaaditaan luottamus kaikkien mukana olevien palvelujen välillä.
Description
Supervisor
Suoranta, Sanna
Thesis advisor
Vainio, Antero
Lehtonen, Kuisma
Keywords
CI/CD, DevOps, GitLab, SSO
Other note
Citation