Poikkiteknologinen asennusautomaatio

Tässä blogissa kerrotaan, kuinka rakentaa GitHub Actioneilla CI/CD-pipeline Logic Appsille ja luoda samalla Dataverse connector.

Microsoftin Power Platformin erinomaisuus on se, että sillä voi tehdä nopeasti sovelluksia, työnkulkuja sekä muita teknologisia vimpaimia suoraan tuotantoon. Kuka tahansa käyttäjä voi klikkailla minuuteissa itselleen tunteja säästävän työkalun. Jos työkalut alkavat olla liiketoimintakriittisiä, tällöin niiden kehityksen elinkaari pitää toteuttaa kehitys-testi-tuotanto-periaatteella, sillä virhemuutos tuotantoon aiheuttaa liiketoimintaan katkon ja riskiä organisaation toimintaan.

Miksi asennusautomaatiota tarvitaan?

Sovelluksia voidaan tehdä pienimuotoisena suoraan tuotantoon, mutta oikea tapa on rakentaa ne kehitysympäristöön, josta ne siirretään testi- tai UAT-ympäristöön testattavaksi. Lopuksi hyväksytty sovellus siirretään tuotantoon eli sinne, missä ohjelmisto on oikeiden käyttäjien saatavilla. Jos asennuksen suorittaa ihminen eikä asennuksen eri vaiheita automatisoida, voi tapahtua inhimillinen virhe. Asennusautomaation tehtävä on helpottaa prosessia ja ehkäistä virheitä.

Microsoft tarjoaa todella monipuoliset ja helpot asennusautomaatiota Azure DevOps työkalun kautta. Mutta mitä kun käytössä onkin muuta teknologia asennusautomaation eli CI/CD-pipelinejen tekemiseen?

Integraatio

Olen rakentanut kahden järjestelmän välille Logic Appsilla, koska sille pystyttiin takamaan turvallinen luvitus Azuren sekä Power Platformin välillä. Luvitus tapahtuu Claimseilla, jolloin erillistä subnetia ei tarvittu vaan tunnistetaan kutsuvan Azure Function Managed Application id, joilla voidaan hyväksyä kutsu. Logic App kirjoittaa Dataverseen tiedot, jota sitten tekemämme Power Apps sovellus hyödyntää.

Asennusautomaatio

Tehtävänä oli rakentaa pipeline GitHubin Actioneilla ja palata ajassa taaksepäin yml-aikaan. Lisähaasteena oli luoda ARM-templatella Dataversen connector, sillä kaiken pitää nousta Azureen pystyyn pipelinen ajon takia. Lopuksi pitää asettaa Azure Active Directory Authorization Policyt Logic Appsille vastapuolen luvitusta varten.

Tehtävät luoda asennusautomaatio

1. Luo Repository GitHubiin

Usein asiakas haluaa sovelluksen lähdekoodit ja automaatiot omaan versiohallintaansa, jolloin toimittajana tämä tulee pyytää asiakkaan IT-osastolta. Kannattaa repositoryn luonnissa luoda myös samalla asennustunnukset ja luvittaa ne oikeaan Azuren resurssiryhmään, jolloin pipelinen ajossa ei tule käyttöoikeusongelmia.

Olkaa tarkkana Issuer kirjoitusmuodosta, sillä yksikin ylimääräinen kauttaviiva lopussa aiheuttaa pipelinen ajoissa virheen.

2. Ota Logic Appsista ulos template

Siirry dev-resurssiryhmässä kehittämääsi Logic Appsiin ja valitse vasemmalta ”Export Template” ja sen jälkeen ”Download”. Pura zip-paketti ja avaa kansio valmiiksi, sinulla on template.json ja parameters.json.

3. Luo application registration ja luvita service principal Dataverseen

Voit katsoa tarkemmat ohjeet täältä: Authenticate Dataverse connector using Service Principal in a Power Automate Flow
Suosittelemme käyttämään service principalia palvelutunnuksen sijaan. Service principalilla ei voi kirjautua sisään ja se pitää luvittaa haluttuun Dataverseen.

Luo Azuressa oleviin resurssiryhmiin KeyVault ja lisää luodun Application Registrationin Secret sinne esimerkiksi nimellä solution-integration-serviceprincipal-test. Ota talteen luotu appid seuraavaa kohtaa varten.

Blogin jatko-osissa kerrotaan, miten parametrisoit Logic Appsin ARM-templaten, luot yml-kielellä CI/CD pipelinen ja luvitat toisen Azuren resurssin kutsumaan Logic Appsia.

Lue blogin jatko-osat alta löytyvien linkkien kautta:

Parametrisoi ARM-templaten tiedostot ja lisää GitHubiin

Luo GitHub CI/CD -pipeline Logic Appien asentamiseksi Dataverse connectorilla


Tutustu Sulavan Power Platform -palveluihin

Tutustu Sulavan tarjoamiin Power Platform -palveluihin tai ota meihin yhteyttä – autamme sinua mielellämme!

Tule mukaan Copilot Studio -webinaariin!

Haluatko oppia luomaan sovelluksia älykkäästi? Ilmoittaudu Sulavan Copilot Studio -webinaariin! Copilot Studio tekee sovellusten rakentamisesta helppoa tekoälyn avulla ja tarjoaa uusia työkaluja.