Azure DevOpsin käyttö jatkuvassa integraatiossa ja jatkuvassa julkaisussa
Komulainen, Teemu (2022)
Komulainen, Teemu
2022
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-202203304135
https://urn.fi/URN:NBN:fi:amk-202203304135
Tiivistelmä
Työni tavoitteena oli tutustua Microsoftin Azure DevOps -tuotteeseen ja luoda sillä jatkuvan integraation ja jatkuvan julkaisun työnkulku Java-sovellukselle. Työnkulussa käsiteltiin sovelluksen koontivaihetta, testausta ja julkaisua. Sovelluksen julkaisu tehtiin lopulta Azuressa pyörivään Azure
App Service -palveluun.
Työssäni tutustuin aluksi ohjelmistotuotannon ja ohjelmistokehityksen historiaan ja siihen, miten nykypäivän toimintamalleihin on päädytty. Teoriaosuudessa selvitin ohjelmistotuotannon siirtymisestä vesiputousmallista ketterimpiin menetelmiin ja tutustuin DevOps-käsitteeseen ja - kulttuuriin. Tutkin työssäni myös Azure DevOps -tuotetta, sen käyttöönottoa ja ominaisuuksia. Opinnäytetyön tyyppi on toiminnallinen ja tutkimusmenetelemänä käytettiin testaamista erikseen luodussa kehitysympäristössä.
Työn tuloksena todettiin, että Azure DevOpsin käyttöönotto on erittäin yksinkertaista ja sen liitettävyys eri palveluihin, varsinkin Microsoftin Azureen, on suoraviivaista ja helppoa. Tuotteen eri ominaisuuksista on olemassa ajantasalla olevat selkeät dokumentaatiot ja niiden käytettävyys on jopa ensikertalaiselle selkeää. Työn lopputuloksena saatiin kaksi työnkulkua, joiden avulla esimerkkisovellus koottiin ja lopulta julkaistiin Azure App Service -palveluun. Ensimmäisessä työnkulussa Java-kielellä tehty sovellus kootiin ja ajettiin sitä vasten automatisoituja testejä. Toisessa tehtiin julkaisu testiympärstöön ja manuaalisen hyväksynnän jälkeen tuotantoympäristöön. Johtopäätöksenä todettiin, että Azure DevOps soveltuu hyvin jatkuvan integraation ja jatkuvan julkaisun menetelmien toteuttamiseen.
Avainsanat DevOps, Azure, jatkuva integraatio, jatkuva julkaisu
Sivut 62 sivua ja liitteitä 1 sivu The thesis explores a Microsoft product called Azure DevOps and creating workflows for continuous integration and continous deployment using a Java-based application. The workflows include building the application, testing it and create a release of it. At the end the application was deployed to Azure App Service.
The theoretical chapter includes the history of software production and software development and how have we ended up to today’s operating models. The thesis shows the transition of software production from the waterfall model to agile methods and got acquainted with the DevOps concept and culture. The theoretical part also includes acquaintance to Azure DevOps, its deployment and features. The type of this thesis is functional and the research method used was testing in a separately created development environment.
As a result of the work it was found that the implementation of Azure DevOps is very simple and its connectivity to various services, especially Microsoft Azure, is straightforward and easy. There are clear up-to-date documentation on the various features of the product and their durability is clear even if you are using the product first time. The result of the thesis were two workflows that were used to compile the sample application and eventually publish it to the Azure App Service. In the first workflow an application written in Java was compiled and run automated tests against it. In the second one a release was made to the test environment first and after manual approval to the production environment. In conclusion, Azure DevOps is well suited for implementing methods of continuous integration and continuous deployment.
Keywords DevOps, Azure, continuous integration, continuous deployment
Pages 62 pages and appendices 1 page
App Service -palveluun.
Työssäni tutustuin aluksi ohjelmistotuotannon ja ohjelmistokehityksen historiaan ja siihen, miten nykypäivän toimintamalleihin on päädytty. Teoriaosuudessa selvitin ohjelmistotuotannon siirtymisestä vesiputousmallista ketterimpiin menetelmiin ja tutustuin DevOps-käsitteeseen ja - kulttuuriin. Tutkin työssäni myös Azure DevOps -tuotetta, sen käyttöönottoa ja ominaisuuksia. Opinnäytetyön tyyppi on toiminnallinen ja tutkimusmenetelemänä käytettiin testaamista erikseen luodussa kehitysympäristössä.
Työn tuloksena todettiin, että Azure DevOpsin käyttöönotto on erittäin yksinkertaista ja sen liitettävyys eri palveluihin, varsinkin Microsoftin Azureen, on suoraviivaista ja helppoa. Tuotteen eri ominaisuuksista on olemassa ajantasalla olevat selkeät dokumentaatiot ja niiden käytettävyys on jopa ensikertalaiselle selkeää. Työn lopputuloksena saatiin kaksi työnkulkua, joiden avulla esimerkkisovellus koottiin ja lopulta julkaistiin Azure App Service -palveluun. Ensimmäisessä työnkulussa Java-kielellä tehty sovellus kootiin ja ajettiin sitä vasten automatisoituja testejä. Toisessa tehtiin julkaisu testiympärstöön ja manuaalisen hyväksynnän jälkeen tuotantoympäristöön. Johtopäätöksenä todettiin, että Azure DevOps soveltuu hyvin jatkuvan integraation ja jatkuvan julkaisun menetelmien toteuttamiseen.
Avainsanat DevOps, Azure, jatkuva integraatio, jatkuva julkaisu
Sivut 62 sivua ja liitteitä 1 sivu
The theoretical chapter includes the history of software production and software development and how have we ended up to today’s operating models. The thesis shows the transition of software production from the waterfall model to agile methods and got acquainted with the DevOps concept and culture. The theoretical part also includes acquaintance to Azure DevOps, its deployment and features. The type of this thesis is functional and the research method used was testing in a separately created development environment.
As a result of the work it was found that the implementation of Azure DevOps is very simple and its connectivity to various services, especially Microsoft Azure, is straightforward and easy. There are clear up-to-date documentation on the various features of the product and their durability is clear even if you are using the product first time. The result of the thesis were two workflows that were used to compile the sample application and eventually publish it to the Azure App Service. In the first workflow an application written in Java was compiled and run automated tests against it. In the second one a release was made to the test environment first and after manual approval to the production environment. In conclusion, Azure DevOps is well suited for implementing methods of continuous integration and continuous deployment.
Keywords DevOps, Azure, continuous integration, continuous deployment
Pages 62 pages and appendices 1 page