Share via


Rövid útmutató: Linux-webalkalmazás üzembe helyezése ARM-sablonnal az Azure-ban

Azure DevOps Services

Ismerkedjen meg az Azure Resource Manager-sablonokkal (ARM-sablonokkal) egy Linux-webalkalmazás MySQL-lel való üzembe helyezésével. Az ARM-sablonok segítségével kódba mentheti a konfigurációt. Az ARM-sablon használata példa az infrastruktúra kódként való használatára és egy jó DevOps-gyakorlatra.

Az ARM-sablon egy JavaScript Object Notation- (JSON-) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. A deklaratív szintaxissal úgy írhatja le a kívánt üzemelő példányt, hogy nem kell megírnia az üzemelő példány létrehozására szolgáló programozási parancsokat.

Az Azure-erőforrások üzembe helyezéséhez JSON- vagy Bicep-szintaxist is használhat. További információ a JSON és a Bicep közötti különbségről a sablonok esetében.

Előfeltételek

Mielőtt hozzákezdene, a következőkre van szüksége:

A kód letöltése

Elágaztatjuk ezt az adattárat a GitHubon:

https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.web/webapp-linux-managed-mysql

A sablon áttekintése

Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik.

A sablon több erőforrást határoz meg:

A folyamat létrehozása és a sablon üzembe helyezése

  1. Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez. Ha még nincs ilyen projektje, hozzon létre egy projektet.

  2. Lépjen a Folyamatok elemre, majd válassza a Folyamat létrehozása lehetőséget.

  3. Válassza a GitHubot a forráskód helyeként.

    Megjegyzés

    Előfordulhat, hogy a rendszer átirányítja a GitHubra a bejelentkezéshez. Ha igen, adja meg a GitHub hitelesítő adatait.

  4. Amikor megjelenik az adattárak listája, válassza a lehetőséget yourname/azure-quickstart-templates/.

    Megjegyzés

    Előfordulhat, hogy a rendszer átirányítja a GitHubra az Azure Pipelines alkalmazás telepítéséhez. Ha igen, válassza a Jóváhagyás és telepítés lehetőséget.

  5. Amikor megjelenik a Konfigurálás lap, válassza a lehetőséget Starter pipeline.

  6. Cserélje le a folyamat tartalmát a következő kódra:

    trigger:
    - none
    
    pool:
      vmImage: 'ubuntu-latest'
    
  7. Hozzon létre három változót: siteName, administratorLoginés adminPass. adminPass titkos változónak kell lennie.

    • Válassza a Változók lehetőséget.
    • + A jellel három változót vehet fel. A létrehozáskor adminPassválassza az Érték titokban tartása lehetőséget.
    • Ha elkészült, kattintson a Mentés gombra.
    Változó Érték Titkos?
    siteName mytestsite No
    adminUser fabrikam No
    adminPass Fqdn:5362! Yes
  8. Képezheti le a titkos változót $(adminPass) úgy, hogy elérhető legyen az Azure-erőforráscsoport üzembehelyezési feladatában. A YAML-fájl tetején válassza a következőt $(adminPass)$(ARM_PASS): .

    variables:
      ARM_PASS: $(adminPass)
    
    trigger:
    - none
    
    pool:
      vmImage: 'ubuntu-latest'
    
  9. Adja hozzá a Fájlok másolása feladatot a YAML-fájlhoz. A projektet fogja használni 101-webapp-linux-managed-mysql . További információ: Webalkalmazás létrehozása Linux rendszeren az Azure Database for MySQL-adattárral .

    variables:
      ARM_PASS: $(adminPass)
    
    trigger:
    - none
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
    - task: CopyFiles@2
      inputs:
        SourceFolder: 'quickstarts/microsoft.web/webapp-linux-managed-mysql/'
        Contents: '**'
        TargetFolder: '$(Build.ArtifactStagingDirectory)'
    
  10. Adja hozzá és konfigurálja az Azure-erőforráscsoport üzembehelyezési feladatát.

    A feladat a Fájlok másolása tevékenységgel és a folyamatváltozókkal létrehozott összetevőre is hivatkozik. Állítsa be ezeket az értékeket a feladat konfigurálásakor.

    • Üzembehelyezési hatókör (deploymentScope): Állítsa az üzembehelyezési hatókört a értékre Resource Group. Az üzembe helyezést felügyeleti csoportra, Azure-előfizetésre vagy erőforráscsoportra célozhatja.
    • Azure Resource Manager-kapcsolat (azureResourceManagerConnection): Válassza ki az Azure Resource Manager szolgáltatáskapcsolatot. Új szolgáltatáskapcsolat konfigurálásához válassza ki az Azure-előfizetést a listából, és kattintson az Engedélyezés gombra. További részletekért lásd: Csatlakozás a Microsoft Azure-hoz
    • Előfizetés (subscriptionId): Válassza ki azt az előfizetést, ahová az üzembe helyezésnek mennie kell.
    • Művelet (művelet): Beállítás Create or update resource group új erőforráscsoport létrehozásához vagy meglévő frissítéséhez.
    • Erőforráscsoport: Az új erőforráscsoport elnevezésére van beállítvaARMPipelinesLAMP-rg . Ha ez egy meglévő erőforráscsoport, az frissül.
    • Hely(hely): Az erőforráscsoport üzembe helyezésének helye. Állítsa be a legközelebbi helyet (például az USA nyugati régióját). Ha az erőforráscsoport már létezik az előfizetésben, a rendszer figyelmen kívül hagyja ezt az értéket.
    • Sablon helye (templateLocation): Állítsa a következőre Linked artifact: . Ez a sablon és a paraméterfájlok helye.
    • Sablon (csmFile): Beállítás: $(Build.ArtifactStagingDirectory)/azuredeploy.json. Ez az ARM-sablon elérési útja.
    • Sablonparaméterek (csmParametersFile): Beállítás: $(Build.ArtifactStagingDirectory)/azuredeploy.parameters.json. Ez az ARM-sablon paraméterfájljának elérési útja.
    • Sablonparaméterek felülbírálása (felülbírálásParameterek): A korábban létrehozott változók használatára van beállítva -siteName $(siteName) -administratorLogin $(adminUser) -administratorLoginPassword $(ARM_PASS) . Ezek az értékek lecserélik a sablonparaméter-fájlban beállított paramétereket.
    • Üzembe helyezési mód (deploymentMode): Az erőforrások üzembe helyezésének módja. Állítsa Incremental értékre. A növekményes érték az ARM-sablonban nem szereplő erőforrásokat tárolja, és gyorsabb, mint Completea . Validate módban az üzembe helyezés előtt megkeresheti a sablonnal kapcsolatos problémákat.
    variables:
      ARM_PASS: $(adminPass)
    
    trigger:
    - none
    
    pool:
      vmImage: 'ubuntu-latest'
    
    steps:
    - task: CopyFiles@2
      inputs:
        SourceFolder: 'quickstarts/microsoft.web/webapp-linux-managed-mysql/'
        Contents: '**'
        TargetFolder: '$(Build.ArtifactStagingDirectory)'
    
    - task: AzureResourceManagerTemplateDeployment@3
      inputs:
        deploymentScope: 'Resource Group'
        azureResourceManagerConnection: '<your-resource-manager-connection>'
        subscriptionId: '<your-subscription-id>'
        action: 'Create Or Update Resource Group'
        resourceGroupName: 'ARMPipelinesLAMP-rg'
        location: '<your-closest-location>'
        templateLocation: 'Linked artifact'
        csmFile: '$(Build.ArtifactStagingDirectory)/azuredeploy.json'
        csmParametersFile: '$(Build.ArtifactStagingDirectory)/azuredeploy.parameters.json'
        overrideParameters: '-siteName $(siteName) -administratorLogin $(adminUser) -administratorLoginPassword $(ARM_PASS)'
        deploymentMode: 'Incremental'
    
  11. Kattintson a Mentés és futtatás gombra a sablon üzembe helyezéséhez. A folyamatfeladat elindul, és néhány perc elteltével az ügynöktől függően a feladat állapotának meg kell jelennie Success.

Üzembe helyezett erőforrások áttekintése

  1. Ellenőrizze, hogy az üzembe helyezett erőforrásokat telepítette-e. Lépjen a ARMPipelinesLAMP-rg Azure Portal erőforráscsoportjára, és ellenőrizze, hogy megjelenik-e App Service, App Service Terv és Azure Database for MySQL kiszolgálói erőforrások.

    ARM-sablonerőforrások a Azure Portal

    Az erőforrásokat az Azure CLI-vel is ellenőrizheti.

    az resource list --resource-group ARMPipelinesLAMP-rg --output table
    
  2. Nyissa meg az új webhelyet. Ha a értékre armpipelinetestsitevan állítvasiteName, a webhely a következő helyen található: https://armpipelinetestsite.azurewebsites.net/.

Az erőforrások eltávolítása

Arm-sablonnal is törölheti az erőforrásokat. Módosítsa az actionAzure-erőforráscsoport üzembehelyezési feladatának értékét a értékre DeleteRG. A , overrideParameterscsmFilecsmParametersFileés deploymentModebemeneteit templateLocationis eltávolíthatja.

variables:
  ARM_PASS: $(adminPass)

trigger:
- none

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: CopyFiles@2
  inputs:
    SourceFolder: 'quickstarts/microsoft.web/webapp-linux-managed-mysql/'
    Contents: '**'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: AzureResourceManagerTemplateDeployment@3
  inputs:
    deploymentScope: 'Resource Group'
    azureResourceManagerConnection: '<your-resource-manager-connection>'
    subscriptionId: '<your-subscription-id>'
    action: 'DeleteRG'
    resourceGroupName: 'ARMPipelinesLAMP-rg'
    location: ''<your-closest-location>'

Következő lépések