Ohjelmistojulkaisun automatisointi Jenkinsillä ja Ansiblella
Kärkkäinen, Aleksi (2021)
Kärkkäinen, Aleksi
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202104195168
https://urn.fi/URN:NBN:fi:amk-202104195168
Tiivistelmä
Uuden ohjelmistoversion saattaminen lähdekoodista kohdeympäristössä suorittavaksi ohjelmaksi on prosessi, jossa luotettavuus ja toistettavuus ovat avainasemassa. Prosessin pitää olla varma ja päivityksen jälkeen ohjelman tila tulee voida palauttaa virhetilanteessa takaisin toimivaksi. Ohjelmistojulkaisuprosessin vaiheista lähdekoodi, koonti, testaus ja julkaisu ovat laajalti automatisoitavissa. Automatisoinnin toteutukseen on tarjolla monia työkaluja, joista Jenkins ja Ansible ovat muodostuneet yhdeksi alan standardeista.
Jenkins ja Ansible ovat ohjelmistoja, jotka mahdollistavat ohjelmistojulkaisun luomiseen ja vientiin tarvittavat työkalut ja yksinkertaistavat prosessin käyttäjälle. Jenkinsissä voi suorittaa koontiin ja testaukseen tarvittavia työkaluja ja hallita koko ohjelmistojulkaisuprosessia. Ansible suorittaa alatason operaatiot kuten tiedostojen kopioinnin, varmuuskopioinnin ja asetustiedostojen luonnin.
Insinöörityössä esitellään tapa toteuttaa julkaisu- ja vientiprosessi Jenkinsin ja Ansiblen avulla Java-pohjaiselle sovellukselle ja pohditaan testaustapoja jatkuvan integraation saavuttamiseksi. Työn tuloksena luotiin ohjelmistojulkaisuprosessi, joka on lähes täysin automatisoitu.
Työtä voi käyttää perustana julkaisuprosessin automatisointiin mille tahansa alustalle. Annettuja esimerkkejä ja toteutustapoja voi suoraan soveltaa paikallisilla palvelimilla ajettaviin ohjelmistoihin.
Jenkins ja Ansible ovat ohjelmistoja, jotka mahdollistavat ohjelmistojulkaisun luomiseen ja vientiin tarvittavat työkalut ja yksinkertaistavat prosessin käyttäjälle. Jenkinsissä voi suorittaa koontiin ja testaukseen tarvittavia työkaluja ja hallita koko ohjelmistojulkaisuprosessia. Ansible suorittaa alatason operaatiot kuten tiedostojen kopioinnin, varmuuskopioinnin ja asetustiedostojen luonnin.
Insinöörityössä esitellään tapa toteuttaa julkaisu- ja vientiprosessi Jenkinsin ja Ansiblen avulla Java-pohjaiselle sovellukselle ja pohditaan testaustapoja jatkuvan integraation saavuttamiseksi. Työn tuloksena luotiin ohjelmistojulkaisuprosessi, joka on lähes täysin automatisoitu.
Työtä voi käyttää perustana julkaisuprosessin automatisointiin mille tahansa alustalle. Annettuja esimerkkejä ja toteutustapoja voi suoraan soveltaa paikallisilla palvelimilla ajettaviin ohjelmistoihin.