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:
- Egy Azure-fiók, aktív előfizetéssel. Hozzon létre ingyenes fiókot.
- Aktív Azure DevOps-szervezet. Regisztráljon az Azure Pipelinesra.
- (Bicep-üzemelő példányokhoz) Egy meglévő erőforráscsoport. Hozzon létre egy erőforráscsoportot Azure Portal, Azure CLI-vel vagy Azure PowerShell.
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:
- Microsoft.Web/serverfarms
- Microsoft.Web/sites
- Microsoft.DBforMySQL/servers
- Microsoft.DBforMySQL/servers/firewallrules
- Microsoft.DBforMySQL/servers/databases
A folyamat létrehozása és a sablon üzembe helyezése
Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez. Ha még nincs ilyen projektje, hozzon létre egy projektet.
Lépjen a Folyamatok elemre, majd válassza a Folyamat létrehozása lehetőséget.
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.
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.
Amikor megjelenik a Konfigurálás lap, válassza a lehetőséget
Starter pipeline
.Cserélje le a folyamat tartalmát a következő kódra:
trigger: - none pool: vmImage: 'ubuntu-latest'
Hozzon létre három változót:
siteName
,administratorLogin
ésadminPass
.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áskoradminPass
vá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 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'
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)'
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ítva
ARMPipelinesLAMP-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, mintComplete
a .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'
- Üzembehelyezési hatókör (deploymentScope): Állítsa az üzembehelyezési hatókört a értékre
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
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.Az erőforrásokat az Azure CLI-vel is ellenőrizheti.
az resource list --resource-group ARMPipelinesLAMP-rg --output table
Nyissa meg az új webhelyet. Ha a értékre
armpipelinetestsite
van á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 action
Azure-erőforráscsoport üzembehelyezési feladatának értékét a értékre DeleteRG
. A , overrideParameters
csmFile
csmParametersFile
és deploymentMode
bemeneteit templateLocation
is 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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: