CI/CD pipeline for SSO service

No Thumbnail Available

URL

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