Automatizace nasazení aplikací do jarního cloudu Azure

v tomto článku se dozvíte, jak pomocí úlohy Azure jaře cloudu Azure Pipelines nasadit aplikace.

Nástroje pro průběžnou integraci a průběžné doručování vám umožní rychle nasadit aktualizace stávajících aplikací s minimálním úsilím a rizikem. Azure DevOps pomáhá organizovat a řídit tyto klíčové úlohy.

Následující video popisuje kompletní automatizaci pomocí nástrojů podle vašeho výběru, včetně Azure Pipelines.


Vytvoření připojení služby Azure Resource Manager

nejprve vytvořte připojení služby Azure Resource Manager k projektu Azure DevOps. pokyny najdete v tématu Připojení Microsoft Azure. Nezapomeňte vybrat stejné předplatné, které používáte pro instanci vaší jarní cloudové služby Azure.

Sestavování a nasazování aplikací

Nyní můžete sestavit a nasadit vaše projekty pomocí řady úkolů. následující šablona Azure Pipelines definuje proměnné, úlohu .net Core pro sestavení aplikace a úlohu cloudového cloudu Azure k nasazení aplikace.

variables:
  workingDirectory: './steeltoe-sample'
  planetMainEntry: 'Microsoft.Azure.SpringCloud.Sample.PlanetWeatherProvider.dll'
  solarMainEntry: 'Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.dll'
  planetAppName: 'planet-weather-provider'
  solarAppName: 'solar-system-weather'
  serviceName: '<your service name>'

steps:
# Restore, build, publish and package the zipped planet app
- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: false
    arguments: '--configuration Release'
    zipAfterPublish: false
    modifyOutputPath: false
    workingDirectory: $(workingDirectory)

# Deploy the planet app
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<Service Connection Name>'
    Action: 'Deploy'
    AzureSpringCloud: $(serviceName)
    AppName: 'testapp'
    UseStagingDeployment: false
    DeploymentName: 'default'
    Package: $(workingDirectory)/src/$(planetAppName)/publish-deploy-planet.zip
    RuntimeVersion: 'NetCore_31'
    DotNetCoreMainEntryPath: $(planetMainEntry)

# Deploy the solar app
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<Service Connection Name>'
    Action: 'Deploy'
    AzureSpringCloud: $(serviceName)
    AppName: 'testapp'
    UseStagingDeployment: false
    DeploymentName: 'default'
    Package: $(workingDirectory)/src/$(solarAppName)/publish-deploy-solar.zip
    RuntimeVersion: 'NetCore_31'
    DotNetCoreMainEntryPath: $(solarMainEntry)

nastavte si instanci cloudu a Azure DevOps projektu Azure.

Nejdřív pomocí následujících kroků nastavte existující instanci cloudu pro Azure jaře pro použití s Azure DevOps.

  1. Přejít na svou instanci cloudu Azure jaře a pak vytvořit novou aplikaci.
  2. přejít na portál Azure DevOps a pak na vybranou organizaci vytvořte nový projekt. pokud nemáte Azure DevOps organizaci, můžete si ji vytvořit zdarma.
  3. vyberte Repos a pak importujte ukázkový kód jarního spuštění do úložiště.

Vytvoření připojení služby Azure Resource Manager

dále vytvořte připojení služby Azure Resource Manager k projektu Azure DevOps. pokyny najdete v tématu Připojení Microsoft Azure. Nezapomeňte vybrat stejné předplatné, které používáte pro instanci vaší jarní cloudové služby Azure.

Sestavování a nasazování aplikací

Nyní můžete sestavit a nasadit vaše projekty pomocí řady úkolů. V následujících částech jsou uvedeny různé možnosti nasazení aplikace pomocí Azure DevOps.

Nasazení pomocí kanálu

K nasazení pomocí kanálu použijte následující postup:

  1. vyberte Pipelines a pak vytvořte nový kanál se šablonou Maven.

  2. Úpravou souboru Azure-Pipelines. yml nastavte mavenPomFile pole na ' Complete/pom.xml '.

  3. Na pravé straně vyberte Zobrazit pomocníka a pak vyberte šablonu jarního cloudu Azure .

  4. Vyberte připojení služby, které jste vytvořili pro vaše předplatné Azure, a pak vyberte svou zdrojovou instanci cloudu a instanci aplikace.

  5. Zakažte použití přípravného nasazení.

  6. Nastavte balíček nebo složku na Complete/Target/Spring-Boot-Complete-0.0.1-Snapshot. jar.

  7. Vyberte Přidat a přidejte tento úkol do svého kanálu.

    Nastavení vašeho kanálu by se mělo shodovat s následujícím obrázkem.

    Snímek obrazovky s nastavením kanálu

    Své projekty můžete sestavit a nasadit také pomocí následující šablony kanálu. Tento příklad nejprve definuje úlohu Maven pro sestavení aplikace, za kterou následuje druhý úkol, který nasadí soubor JAR pomocí úlohy Azure jaře Cloud pro Azure Pipelines.

    steps:
    - task: Maven@3
      inputs:
        mavenPomFile: 'complete/pom.xml'
    - task: AzureSpringCloud@0
      inputs:
        azureSubscription: '<your service connection name>'
        Action: 'Deploy'
        AzureSpringCloud: <your Azure Spring Cloud service>
        AppName: <app-name>
        UseStagingDeployment: false
        DeploymentName: 'default'
        Package: ./target/your-result-jar.jar
    
  8. Vyberte Uložit a spustit a potom počkejte na dokončení úlohy.

Nasazení s modrou zeleným prostředím

Nasazení zobrazené v předchozí části přijímá provoz aplikace hned po nasazení. To vám umožní otestovat aplikaci v provozním prostředí před tím, než přijme veškerá zákaznická data.

Upravit soubor kanálu

Chcete-li sestavit aplikaci stejným způsobem, jak je uvedeno výše, a nasaďte ji do pracovního nasazení, použijte následující šablonu. V tomto příkladu musí pracovní nasazení již existovat. Alternativní postup najdete v tématu strategie nasazení Blue-zelená.

steps:
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<your service connection name>'
    Action: 'Deploy'
    AzureSpringCloud: <your Azure Spring Cloud service>
    AppName: <app-name>
    UseStagingDeployment: true
    Package: ./target/your-result-jar.jar
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<your service connection name>'
    Action: 'Set Production'
    AzureSpringCloud: <your Azure Spring Cloud service>
    AppName: <app-name>
    UseStagingDeployment: true

Použití oddílu releases

Následující kroky ukazují, jak povolit modrou zelenou instalaci z oddílu vydání .

  1. vyberte Pipelines a vytvořte nový kanál pro sestavení Maven a artefakt publikování.

    1. pro umístění kódu vyberte Azure Repos Git .
    2. Vyberte úložiště, kde se nachází váš kód.
    3. Vyberte šablonu Maven a upravte soubor tak, aby se pole nastavilo mavenPomFile na complete/pom.xml .
    4. Vyberte Zobrazit pomocníka na pravé straně a vyberte šablonu pro publikování artefaktů sestavení .
    5. Nastavte cestu pro publikování na dokončeno/cíl/Spring-Boot-Complete-0.0.1-Snapshot. jar.
    6. Vyberte Uložit a spustit.
  2. Vyberte vydané verze a pak vytvořit vydání.

  3. Přidejte nový kanál a výběrem prázdné úlohy vytvořte úlohu.

  4. V části fáze vyberte úlohu 1 úloha, 0

    Snímek obrazovky s výběrem pro přidání úlohy do úlohy

    1. Vyberte, + Chcete-li přidat úkol do úlohy.
    2. Vyhledejte šablonu jarního cloudu Azure a pak vyberte Přidat a přidejte úkol do úlohy.
    3. Vyberte možnost nasazení jarního cloudu Azure: pro úpravu úlohy.
    4. Naplňte tento úkol s informacemi o vaší aplikaci a pak zakažte použití přípravného nasazení.
    5. Povolit Vytvoření nového pracovního nasazení, pokud neexistuje, a pak zadejte název v nasazení.
    6. Kliknutím na Uložit tuto úlohu uložte.
    7. Vyberte OK.
  5. Vyberte kanál a pak vyberte Přidat artefakt.

    1. V části zdroj (kanál sestavení) vyberte kanál, který jste vytvořili dříve.
    2. Vyberte Přidat a pak Uložit.
  6. V části fáze vyberte 1 úlohu, 1 úloha .

  7. Přejděte do úlohy nasazení v Azure jaře cloudu ve fázi 1 a potom vyberte tři tečky vedle balení nebo složky.

  8. V dialogovém okně vyberte Spring-Boot-Complete-0.0.1-Snapshot. jar a pak vyberte OK.

    Snímek obrazovky dialogového okna vyberte soubor nebo složku.

  9. Vyberte, pokud chcete + do úlohy přidat další úlohu Azure jaře Cloud .

  10. Změňte akci pro Nastavení produkčního nasazení.

  11. Vyberte Uložit a pak vytvořit vydání pro automatické spuštění nasazení.

Pokud chcete ověřit stav aktuální verze vaší aplikace, vyberte Zobrazit verzi. Po dokončení této úlohy navštivte Azure Portal a ověřte stav vaší aplikace.

Nasadit ze zdroje

K nasazení přímo do Azure bez samostatného kroku sestavení použijte následující šablonu kanálu.

- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<your service connection name>'
    Action: 'Deploy'
    AzureSpringCloud: <your Azure Spring Cloud service>
    AppName: <app-name>
    UseStagingDeployment: false
    DeploymentName: 'default'
    Package: $(Build.SourcesDirectory)

Další kroky