Vom 5. bis 7. Juni findet in London wieder die...

Read more

Vom 5. bis 7. Juni findet in London wieder die...

Read more

Vom 5. bis 7. Juni findet in London wieder die...

Read more

Live Coding on stage in Hamburg - exklusiv für...

Read more

Um Azure Ressourcen von DevOps aus zu deployen,...

Read more

In diesem Artikel wird ein beispielhafter Aufbau...

Read more

Die QUIBIQ Gruppe wurde am 9. März 2023 von dem...

Read more

Der Schnelleinstieg in die Welt der Tests für den...

Read more

Wenn man eine, im Azure Portal, entwickelte Logic...

Read more

WinSCP für BizTalk wird für den SFTP-Adapter...

Read more

How-to: Logic App (Standard) Content from Azure Portal in Azure DevOps Git Repository übertragen

Wenn man eine, im Azure Portal, entwickelte Logic App Standard über mehrere Stages verteilen möchte, hat man dazu verschiedene Möglichkeiten.

Vorbereitung

Im Azure Portal gibt es auf der Startseite der Logic App eine Option „Download app content“. Diese öffnet eine Auswahl, ob nur der Site Content oder der Content mit einem Visual Studio Projekt heruntergeladen werden soll. Zusätzlich kann man die appsettings herunterladen.

Für den initialen Download empfiehlt sich Content mit Visual Studio Projekt, sowie die appsettings.

 

Es wird dann ein Zip mit einer ähnlichen Struktur erstellt.

  • Artifacts, wenn bspw. Maps oder Schemas in der Logic App hinterlegt sind
  • Ein Ordner pro Workflow, welcher jeweils eine workflow.json mit dem Code enthält (aus dem Workflows-Tab)
  • connections.json  (aus dem Connections-Tab) mit allen Serviceverbindungen
  • parameters.json (aus dem Parameters-Tab) mit allen verfügbaren Parameter
  • local.settings.json enthält die Appsettings, welche als Umgebungsvariablen der Logic App zur Verfügung stehen und über @appsettings(‘<name>‘) abgefragt werden können

Als Nächstes empfiehlt es sich, ein Git Repository anzulegen und einen lokalen Ordner damit zu verbinden. Im nächsten Schritt wird das Zip in diesen Ordner entpackt.

Sollten noch nicht alle nötigen Werte wie Adressen zu bspw. HTTP-Endpunkten parametrisiert sein, wird dies nun notwendig, um ein flexibles Deployment über die verschiedenen Stages zu ermöglichen.

Wenn alles soweit vorbereitet ist, kann das Projekt eingecheckt und ins Repository gepushed werden.

Änderungen

Um Änderungen am Code einer, bereits im Repository und ggf. deployeden, Logic App vorzunehmen, gibt es zwei Möglichkeiten.

  1. Logic App im Azure Portal ändern, Code kopieren und die lokale Datei damit überschreiben.
  2. Lokale Entwicklung im Visual Studio Code

Build

Nun ist es möglich, in einer Build Pipeline die Logic App Dateien aufzubereiten, zu packen, sowie als Pipeline Artifakt bereitzustellen.

  - taskBash@3
    displayNameCreate project Folder
    inputs:
      targetType'inline'
      script: |

        cd '$(Build.SourcesDirectory)'
        mkdir output/
        cp -r 'Artifacts/' 'output/'
        find */workflow.json -exec cp --parents \{\} output \;
        cp 'connections.json' 'output/'
        #cp 'parameters.${{ parameters.targetEnvironment }}.json' 'output/parameters.json'
        cp 'parameters.json' 'output/parameters.json'

  - taskArchiveFiles@2
    displayNameZip Files
    inputs:
      rootFolderOrFile'$(Build.SourcesDirectory)/output'
      includeRootFolderfalse
      archiveType'zip'
      archiveFile'$(Build.ArtifactStagingDirectory)/output.zip'
      replaceExistingArchivetrue


  - taskPublishBuildArtifacts@1
    inputs:
      PathtoPublish'$(Build.ArtifactStagingDirectory)/output.zip'
      ArtifactName'drop'
      publishLocation'Container'

Auf der Deployment-Seite kann dieses Paket nun in die Logic App hochgeladen werden.

  - taskAzureFunctionApp@1
    displayNamePush Artifacts & Workflows to LogicApp
    inputs:
      azureSubscription'<subscription>'
      appType'workflowapp'
      appName'<appName>'
      package'<Path to package>'
      deploymentMethod'zipDeploy'

 

Dieser Tipp kommt QUIBIQ Stuttgart.

© QUIBIQ GmbH · Imprint · Data protection