Alkalmazástelepítések automatizálása az Azure Spring Appsben

Feljegyzés

Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.

Ez a cikk a következőre vonatkozik: ✔️ Basic/Standard ✔️ Enterprise

Ez a cikk bemutatja, hogyan helyezhet üzembe alkalmazásokat az Azure Pipelines Azure Spring Apps-feladatával .

A folyamatos integrációs és folyamatos kézbesítési eszközök lehetővé teszik a frissítések gyors üzembe helyezését a meglévő alkalmazásokban minimális erőfeszítéssel és kockázattal. Az Azure DevOps segít ezeknek a kulcsfontosságú feladatoknak a rendszerezésében és szabályozásában.

Az alábbi videó a végpontok közötti automatizálást ismerteti az Ön által választott eszközökkel, beleértve az Azure Pipelinest is.


Azure Resource Manager-szolgáltatáskapcsolat létrehozása

Először hozzon létre egy Azure Resource Manager-szolgáltatáskapcsolatot az Azure DevOps-projekthez. Útmutatásért lásd: Csatlakozás a Microsoft Azure-ba. Ügyeljen arra, hogy ugyanazt az előfizetést válassza ki, mint amit az Azure Spring Apps-szolgáltatáspéldányhoz használ.

Alkalmazások létrehozása és üzembe helyezése

Most már több feladattal is létrehozhatja és üzembe helyezheti projektjeit. Az alábbi Azure Pipelines-sablon változókat, .NET Core-feladatokat határoz meg az alkalmazás létrehozásához, valamint egy Azure Spring Apps-feladatot az alkalmazás üzembe helyezéséhez.

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'
    DeploymentType: 'Artifacts'
    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'
    DeploymentType: 'Artifacts'
    UseStagingDeployment: false
    DeploymentName: 'default'
    Package: $(workingDirectory)/src/$(solarAppName)/publish-deploy-solar.zip
    RuntimeVersion: 'NetCore_31'
    DotNetCoreMainEntryPath: $(solarMainEntry)

Azure Spring Apps-példány és Azure DevOps-projekt beállítása

Először az alábbi lépésekkel állítson be egy meglévő Azure Spring Apps-példányt az Azure DevOpshoz való használatra.

  1. Nyissa meg az Azure Spring Apps-példányt, majd hozzon létre egy új alkalmazást.
  2. Nyissa meg az Azure DevOps portált, majd hozzon létre egy új projektet a választott szervezet alatt. Ha nem rendelkezik Azure DevOps-szervezettel, ingyenesen létrehozhat egyet.
  3. Válassza az Adattár lehetőséget, majd importálja a Spring Boot demókódot az adattárba.

Azure Resource Manager-szolgáltatáskapcsolat létrehozása

Ezután hozzon létre egy Azure Resource Manager-szolgáltatáskapcsolatot az Azure DevOps-projekthez. Útmutatásért lásd: Csatlakozás a Microsoft Azure-ba. Ügyeljen arra, hogy ugyanazt az előfizetést válassza ki, mint amit az Azure Spring Apps-szolgáltatáspéldányhoz használ.

Alkalmazások létrehozása és üzembe helyezése

Most már több feladattal is létrehozhatja és üzembe helyezheti projektjeit. Az alábbi szakaszok az alkalmazás Azure DevOps használatával történő üzembe helyezésének különböző lehetőségeit mutatják be.

Üzembe helyezés folyamattal

Folyamat használatával történő üzembe helyezéshez kövesse az alábbi lépéseket:

  1. Válassza a Folyamatok lehetőséget, majd hozzon létre egy új folyamatot egy Maven-sablonnal.

  2. A azure-pipelines.yml fájl szerkesztésével állítsa a mavenPomFile mezőt "complete/pom.xml" értékre.

  3. Válassza az Asszisztens megjelenítése lehetőséget a jobb oldalon, majd válassza az Azure Spring Apps-sablont .

  4. Válassza ki az Azure-előfizetéshez létrehozott szolgáltatáskapcsolatot, majd válassza ki az Azure Spring Apps-példányt és az alkalmazáspéldányt.

  5. Tiltsa le az előkészítési üzembe helyezés használatát.

  6. A Csomag vagy mappabeállítása teljes/cél/spring-boot-complete-0.0.1-SNAPSHOT.jar.

  7. Válassza a Hozzáadás lehetőséget a feladat folyamathoz való hozzáadásához.

    A folyamatbeállításoknak meg kell egyeznie az alábbi képpel.

    Képernyőkép az Azure DevOpsról, amely az Új folyamat beállításait jeleníti meg.

    A projekteket a következő folyamatsablonnal is létrehozhatja és üzembe helyezheti. Ez a példa először egy Maven-feladatot határoz meg az alkalmazás létrehozásához, majd egy második feladatot, amely üzembe helyezi a JAR-fájlt az Azure Pipelines Azure Spring Apps-feladatával.

    steps:
    - task: Maven@3
      inputs:
        mavenPomFile: 'complete/pom.xml'
    - task: AzureSpringCloud@0
      inputs:
        azureSubscription: '<your service connection name>'
        Action: 'Deploy'
        AzureSpringCloud: <your Azure Spring Apps service>
        AppName: <app-name>
        DeploymentType: 'Artifacts'
        UseStagingDeployment: false
        DeploymentName: 'default'
        Package: ./target/your-result-jar.jar
    
  8. Válassza a Mentés és futtatás lehetőséget, majd várja meg, amíg a feladat befejeződik.

Kék-zöld környezetek

Az előző szakaszban látható üzembe helyezés azonnal megkapja az alkalmazás forgalmát az üzembe helyezés után. Ez lehetővé teszi, hogy tesztelje az alkalmazást az éles környezetben, mielőtt bármilyen ügyfélforgalmat fogad.

A folyamatfájl szerkesztése

Ha az alkalmazást a korábban bemutatott módon szeretné létrehozni, és üzembe szeretné helyezni egy átmeneti üzembe helyezésben, használja az alábbi sablont. Ebben a példában az átmeneti üzembe helyezésnek már léteznie kell. Alternatív megközelítésért tekintse meg a kék-zöld üzembehelyezési stratégiákat.

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

A Kiadások szakasz használata

Az alábbi lépések bemutatják, hogyan engedélyezheti a kék-zöld üzembe helyezést a Kiadások szakaszban.

  1. Válassza a Folyamatok lehetőséget, és hozzon létre egy új folyamatot a Maven buildjéhez és közzétételéhez.

    1. A kód helyéhez válassza az Azure Repos Git lehetőséget.
    2. Válasszon ki egy adattárat, ahol a kód található.
    3. Válassza ki a Maven-sablont , és módosítsa a fájlt a mavenPomFile mező beállításához complete/pom.xml.
    4. A jobb oldalon válassza az Asszisztens megjelenítése lehetőséget, és válassza a Buildösszetevők közzététele sablont .
    5. Adja meg a közzétételelérési útját teljes/cél/spring-boot-complete-0.0.1-SNAPSHOT.jar.
    6. Válassza a Mentés és futtatás lehetőséget.
  2. Válassza a Kiadások, majd a Kiadás létrehozása lehetőséget.

  3. Adjon hozzá egy új folyamatot, és válassza az Üres feladat lehetőséget a feladat létrehozásához.

  4. A Szakaszok területen válassza ki az 1. sor feladatát, 0 feladatot

    Képernyőkép az Azure DevOpsról, amely a Folyamatok lapot jeleníti meg, kiemelve az 1 feladat, 0 tevékenységhivatkozás.

    1. Jelölje ki a + feladatot a feladathoz való hozzáadásához.
    2. Keresse meg az Azure Spring Apps-sablont, majd a Hozzáadás gombra kattintva adja hozzá a feladatot a feladathoz.
    3. Válassza az Azure Spring Apps Deploy(Üzembe helyezés) lehetőséget a feladat szerkesztéséhez.
    4. Töltse ki ezt a feladatot az alkalmazás adataival, majd tiltsa le az átmeneti üzembe helyezés használatát.
    5. Ha nem létezik, engedélyezze az új átmeneti üzembe helyezés létrehozását, majd adjon meg egy nevet az üzembe helyezésben.
    6. A feladat mentéséhez válassza a Mentés lehetőséget.
    7. Kattintson az OK gombra.
  5. Válassza a Folyamat lehetőséget, majd válassza az Összetevő hozzáadása lehetőséget.

    1. A Forrás (buildfolyamat) területen válassza ki a korábban létrehozott folyamatot.
    2. Válassza a Hozzáadás, majd a Mentés lehetőséget.
  6. Válassza ki az 1 feladatot, 1 feladatot a Szakaszok területen.

  7. Lépjen az Azure Spring Apps Üzembe helyezési feladatához az 1. fázisban, majd válassza ki a három pontot a Csomag vagy mappa mellett.

  8. Válassza spring-boot-complete-0.0.1-SNAPSHOT.jar a párbeszédpanelen, majd kattintson az OK gombra.

    Képernyőkép az Azure DevOpsról, amelyen a Fájl vagy mappa kiválasztása párbeszédpanel látható.

  9. Válassza ki a + lehetőséget, ha egy másik Azure Spring Apps-feladatot szeretne hozzáadni a feladathoz.

  10. Módosítsa a műveletet az éles üzembe helyezés beállítására.

  11. Válassza a Mentés, majd a Kiadás létrehozása lehetőséget az üzembe helyezés automatikus elindításához.

Az alkalmazás aktuális kiadási állapotának ellenőrzéséhez válassza a Kiadás megtekintése lehetőséget. A feladat befejezése után látogasson el az Azure Portalra az alkalmazás állapotának ellenőrzéséhez.

Üzembe helyezés forrásból

Ha külön buildelési lépés nélkül szeretne közvetlenül üzembe helyezni az Azure-ban, használja a következő folyamatsablont.

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

Üzembe helyezés egyéni rendszerképből

Ha közvetlenül egy meglévő tárolórendszerképből szeretne üzembe helyezni, használja az alábbi folyamatsablont.

- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<your service connection name>'
    Action: 'Deploy'
    AzureSpringCloud: '<your Azure Spring Apps service>'
    AppName: '<app-name>'
    DeploymentType: 'CustomContainer'
    UseStagingDeployment: false
    DeploymentName: 'default'
    ContainerRegistry: 'docker.io'  # or your Azure Container Registry, e.g: 'contoso.azurecr.io'
    RegistryUsername: '$(username)'
    RegistryPassword: '$(password)'
    ContainerImage: '<your image tag>'

Szerkesztő üzembe helyezése és megadása (csak vállalati csomag esetén)

Ha az Azure Spring Apps Enterprise-csomagot használja, megadhatja azt is, hogy melyik szerkesztőt használja a műveletek üzembe helyezéséhez az builder alábbi példában látható módon. További információ: A Tanzu buildszolgáltatás használata.

- task: AzureSpringCloud@0
  inputs:
    azureSubscription: '<your-service-connection-name>'
    Action: 'Deploy'
    AzureSpringCloud: '<your-Azure-Spring-Apps-service-instance-name>'
    AppName: '<app-name>'
    UseStagingDeployment: false
    DeploymentName: 'default'
    Package: './target/your-result-jar.jar'
    Builder: '<your-Tanzu-Build-Service-Builder-resource>'

Következő lépések