Azure DevOps nabízí hned několik služeb pro správu vašeho projektu, které jsou mezi sebou propojené. Jedny z těchto služeb jsou taky CI/CD.

Continuous Integration - je souhr úkolů, které integrují a validují práci jednotlivých vývojářů na projektu. Můžeme si to představit jako souhrn úkolů, které započnou od commitnutí změn do repozitáře, následný build a analýza kódu, až po spuštění automatických testů.

Continuous Delivery - má potom za úkol doručit vytvořený build v CI někam na server.

Pro nastavení CI se musíme proklikat v Azure DevOps do záložky Pipelines a následně Builds. Při vytváření nové build pipeline musíme první zvolit zdroj pro stahování zdrojových kódu. Máme hned několik možností - Azure DevOps Git, Gighub, SVN,...

CI_RepoSource.PNG

Já mám uložené zdrojové kody přímo v Azure DevOps Repos, tak vyberu zdroj - Azure DevOps Git

Dále si musím vybrat šablonu pro build, která nám vyhovuje. Jelikož se jedná o ASP.NET aplikaci, tak zvolíme šablonu ASP.NET, která zahrnuje kroky - build, test.

CI_Templates.PNG

A dále nám vyskočí souhrn kroků vybrané šablony - nuget restore, build, test, publish artifacts, které můžeme libovolně dále upravovat.

Pokud bychom do pipeline chtěli přidat ještě analýzu kódu pomoci SonarCloud, tak stačí k Agentovi přidat další tasky - Prepare analysis on SonarCloudRun Code Analysis, které slouží pro integraci se zmíněným SonarCloudem.

CI_Steps.PNG

Finální build pipeline potom bude vypadat následovně. Build pipeline se bude potom automaticky spouštět na základě změn ve dříve vybraném repozitáři a branche.

CI_Final.PNG

Tak a teď bychom potřebovali zaintegrované změny a buildy nějak dostat na náš server, aby změny byly viditelné.

To už se odehrává v záložce Releases, kde vytvoříme novou release pipeline.
Musíme nastavit dva kroky. První z nich je abychom vybrali šablonu pro to, co se má vykonat za akci. V našem případě půjde o Azure App Service deployment, které vyžaduje připojení na naše Azure předplatné a již vytvořenou službu Web App service, do které chcete aplikaci vypublikovat.

CD_Template.PNG

A druhý krok je nastavit zdroj artefaktů. V našem případě budeme chtít vytvořené artefakty z naší CI build pipeline.

CD_Artifacts.PNG

Pokud chceme, aby se release prováděl po každé úspěšné CI build pipelině, musíme zapnout trigger v nastavení artefaktů.

CD_Final.PNG

Vše uložímé a můžeme vyzkoušet celý CI/CD proces provedením změn v repozitáři..

Comments


Comments are closed