Jatkuva toimittaminen Azure DevOps -ympäristössä
Heikkinen, Jesse (2021)
Heikkinen, Jesse
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-2021060113127
https://urn.fi/URN:NBN:fi:amk-2021060113127
Tiivistelmä
Työn tavoitteena oli suunnitella ja toteuttaa toimeksiantajalle automatisoitu jatkuvan toimittamisen järjestelmä. Järjestelmä tuli toteuttaa toimeksiantajan Azure DevOps -ympäristössä. Toteutettavan järjestelmän vaatimuksina oli koostaa ja julkaista tuotteiden uudet
versiot Azuren App Service -palveluun sekä ajaa mahdolliset muutokset Azuren pilvipalvelussa olevaan tietokantaan.
Työn alkuvaiheessa tutustuttiin DevOps-käsitteeseen sekä Azure DevOps -ympäristöön tarkemmin, jonka jälkeen tutkittiin miten automaattinen jatkuvan toimittamisen järjestelmä,
kannattaisi Azure DevOps -ympäristössä toteutettaa. Azure DevOps -ympäristöön paremmin tutustuttua oli selvää, että kannattaisi työn toteutuksessa käyttää ympäristön Pipelines-palvelua. Palvelussa voidaan luoda jatkuvan integraation ja jatkuvan toimittamisen
putkia, joista kokonaisuutena saataisiin muodostettua automatisoitu jatkuvan toimittamisen järjestelmä.
Ensimmäisenä työn toteutusvaiheessa luotiin Azure DevOps -ympäristöön jatkuvan integroinnin putki, joka koosti tuotteen, muodosti tietokannan muutoksista ajettavan SQL-skriptin ja ajoi testit. Tämän jälkeen luotiin Azure DevOps -ympäristöön jatkuvan toimittamisen putki, joka haki uusimman version koostetusta tuotteesta ja julkaisi sen Azuren App
Service -palveluun, sekä ajoi tietokanta muutokset Azuren pilvipalvelussa olevaan tietokantaan.
Työn tuloksena toimeksiantajalle toteutettin Azure DevOps -ympäristössä toimiva automatisoitu jatkuvan toimittamisen järjestelmä. Toteutettu järjestelmä automatisoidusti koostaa ja julkaisee uuden version tuotteista Azuren App Service -palveluun sekä ajaa mahdolliset muutokset Azuren pilvipalvelussa olevaan tietokantaan. The objective of this work was to plan and implement an automated continuous delivery
system to the assignee. The system was to be done in Azure DevOps platform. The requirements for the system were that it had to build and deploy any new versions of the products to Azure App Service and apply any changes to the database in Azure cloud services.
At the start of this work, we get a better understanding of the term DevOps and Azure
DevOps platform in general. After which we studied more about how an automated continuous delivery system should be implanted in Azure DevOps platform. After studying
more about Azure DevOps platform, it became clear that we should use the Pipelines service. With the Pipelines service, you can create a continuous integration and continuous
delivery pipelines that together would create an automated continuous delivery system.
The first thing when starting to implement the system was to create a continuous integra tion pipeline that built the product, formed the script from database changes, and ran the
tests. After this came the creation of the continuous delivery pipeline that fetched the
newest version of the built product and deployed it to Azure App Service and applied the
database changes to the database in Azure cloud services.
As the result of this work, an automated continuous delivery system was implemented for
the assignee. The implemented system automatically builds and deploys any new versions
of the products to Azure App Service and applies any database changes to the database in
Azure could services.
versiot Azuren App Service -palveluun sekä ajaa mahdolliset muutokset Azuren pilvipalvelussa olevaan tietokantaan.
Työn alkuvaiheessa tutustuttiin DevOps-käsitteeseen sekä Azure DevOps -ympäristöön tarkemmin, jonka jälkeen tutkittiin miten automaattinen jatkuvan toimittamisen järjestelmä,
kannattaisi Azure DevOps -ympäristössä toteutettaa. Azure DevOps -ympäristöön paremmin tutustuttua oli selvää, että kannattaisi työn toteutuksessa käyttää ympäristön Pipelines-palvelua. Palvelussa voidaan luoda jatkuvan integraation ja jatkuvan toimittamisen
putkia, joista kokonaisuutena saataisiin muodostettua automatisoitu jatkuvan toimittamisen järjestelmä.
Ensimmäisenä työn toteutusvaiheessa luotiin Azure DevOps -ympäristöön jatkuvan integroinnin putki, joka koosti tuotteen, muodosti tietokannan muutoksista ajettavan SQL-skriptin ja ajoi testit. Tämän jälkeen luotiin Azure DevOps -ympäristöön jatkuvan toimittamisen putki, joka haki uusimman version koostetusta tuotteesta ja julkaisi sen Azuren App
Service -palveluun, sekä ajoi tietokanta muutokset Azuren pilvipalvelussa olevaan tietokantaan.
Työn tuloksena toimeksiantajalle toteutettin Azure DevOps -ympäristössä toimiva automatisoitu jatkuvan toimittamisen järjestelmä. Toteutettu järjestelmä automatisoidusti koostaa ja julkaisee uuden version tuotteista Azuren App Service -palveluun sekä ajaa mahdolliset muutokset Azuren pilvipalvelussa olevaan tietokantaan.
system to the assignee. The system was to be done in Azure DevOps platform. The requirements for the system were that it had to build and deploy any new versions of the products to Azure App Service and apply any changes to the database in Azure cloud services.
At the start of this work, we get a better understanding of the term DevOps and Azure
DevOps platform in general. After which we studied more about how an automated continuous delivery system should be implanted in Azure DevOps platform. After studying
more about Azure DevOps platform, it became clear that we should use the Pipelines service. With the Pipelines service, you can create a continuous integration and continuous
delivery pipelines that together would create an automated continuous delivery system.
The first thing when starting to implement the system was to create a continuous integra tion pipeline that built the product, formed the script from database changes, and ran the
tests. After this came the creation of the continuous delivery pipeline that fetched the
newest version of the built product and deployed it to Azure App Service and applied the
database changes to the database in Azure cloud services.
As the result of this work, an automated continuous delivery system was implemented for
the assignee. The implemented system automatically builds and deploys any new versions
of the products to Azure App Service and applies any database changes to the database in
Azure could services.
