Oktatóanyag: Java-alkalmazás üzembe helyezése virtuálisgép-méretezési csoportban
Azure DevOps Services
A virtuálisgép-méretezési csoportokkal azonos, automatikus skálázású virtuális gépeket helyezhet üzembe és kezelhet.
A virtuális gépek a méretezési csoportban igény szerint jönnek létre. Szabályokat határozhat meg a virtuális gépek hozzáadásának vagy a méretezési csoportból való eltávolításának módjára és időpontjára. Ezek a szabályok a processzorterheléshez, a memóriahasználathoz és a hálózati forgalomhoz hasonló mérőszámok alapján aktiválhatók.
Ebben az oktatóanyagban java-alkalmazást hoz létre és helyez üzembe egy virtuálisgép-méretezési csoportban. Az alábbiak végrehajtásának módját ismerheti meg:
- Virtuálisgép-méretezési csoport létrehozása
- Gépi rendszerkép létrehozása
- Egyéni rendszerkép üzembe helyezése virtuálisgép-méretezési csoportban
Előfeltételek
Mielőtt hozzákezdene, a következőkre van szüksége:
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- Aktív Azure DevOps-szervezet. Regisztráljon az Azure Pipelines szolgáltatásra.
- A DevOps-szervezethez telepített Azure VM Image Builder DevOps-feladat .
- Elágaztatott GitHub-adattár a példaprojekttel. Fork the pipelines-vmss repository.
A Java-folyamat beállítása
Jelentkezzen be az Azure DevOps-szervezetbe, és nyissa meg a projektet.
Lépjen a Folyamatok elemre, majd válassza az Új folyamat vagy a Folyamat létrehozása lehetőséget az első folyamat létrehozásakor.
Végezze el a varázsló lépéseit úgy, hogy először a GitHubot választja a forráskód helyeként.
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 ki az adattárat.
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 > telepítés lehetőséget.
Amikor megjelenik a Konfigurálás lap, válassza a Maven lehetőséget.
A folyamat testreszabása
Amikor megjelenik az új folyamat, tekintse meg a YAML-et, hogy lássa, mit csinál. Ha elkészült, válassza a Mentés és futtatás lehetőséget.
A rendszer kérni fogja, hogy véglegesítsen egy új azure-pipelines.yml fájlt az adattárban. Miután elégedett az üzenettel, válassza a Mentés és futtatás lehetőséget.
Ha működés közben szeretné megtekinteni a folyamatot, válassza ki a buildelési feladatot.
Most hozott létre és futtatott egy folyamatot, amelyet automatikusan létrehoztunk Önnek, mert a kód jónak tűnt a Maven-sablonhoz .
Most már rendelkezik egy működő YAML-folyamat (
azure-pipelines.yml
) az adattárban, amely készen áll a testreszabásra!Ha készen áll a folyamat módosítására, jelölje ki azt a Folyamatok lapon, majd szerkessze a
azure-pipelines.yml
fájlt.
Fájlok másolása és buildösszetevő-feladatok közzététele
Frissítse a folyamatot, hogy belefoglalja a
CopyFiles@2
feladatot. Ez létrehoz egy összetevőt, amelyet üzembe helyezhet a virtuálisgép-méretezési csoportban.trigger: none pool: vmImage: 'ubuntu-latest' steps: - task: Maven@4 inputs: mavenPomFile: 'pom.xml' mavenOptions: '-Xmx3072m' javaHomeOption: 'JDKVersion' jdkVersionOption: '1.8' jdkArchitectureOption: 'x64' publishJUnitResults: true testResultsFiles: '**/surefire-reports/TEST-*.xml' goals: 'package' - task: CopyFiles@2 displayName: 'Copy File to: $(TargetFolder)' inputs: SourceFolder: '$(Build.SourcesDirectory)' Contents: | **/*.sh **/*.war **/*jar-with-dependencies.jar TargetFolder: '$(System.DefaultWorkingDirectory)/pipeline-artifacts/' flattenFolders: true
Egyéni rendszerkép létrehozása és feltöltése az Azure-ba
Szüksége lesz egy erőforráscsoportra, tárfiókra és megosztott képgyűjteményre az egyéni rendszerképhez.
Hozzon létre egy erőforráscsoportot az az group create paranccsal. Ez a példa létrehoz egy myVMSSResourceGroup nevű erőforráscsoportot az eastus2 helyen:
az group create --name myVMSSResourceGroup --location eastus2
Hozzon létre egy új tárfiókot. Ez a példa létrehoz egy tárfiókot.
vmssstorageaccount
az storage account create \ --name vmssstorageaccount \ --resource-group myVMSSResourceGroup \ --location eastus2 \ --sku Standard_LRS
Hozzon létre egy megosztott képgyűjteményt.
az sig create --resource-group myVMSSResourceGroup --gallery-name myVMSSGallery
Hozzon létre egy új képgyűjteményt az
myVMSSGallery
erőforrásban. A képgalériák használatáról további információt az Azure Megosztott képtár létrehozása a portálon című témakörben talál.az sig create --resource-group myVMSSResourceGroup --gallery-name myVMSSGallery
Hozzon létre egy képdefiníciót. Másolja ki az
id
új, így/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/galleries/myVMSSGallery/images/MyImage
néz ki képét.az sig image-definition create -g myVMSSResourceGroup --gallery-name myVMSSGallery --gallery-image-definition MyImage --publisher GreatPublisher --offer GreatOffer --sku GreatSku --os-type linux
Felügyelt identitás létrehozása
Hozzon létre egy felügyelt identitást az erőforráscsoportban.
az identity create -g myVMSSResourceGroup -n myVMSSIdentity
A kimenetből másolja ki a
id
. Aid
fog kinézni/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>
.Nyissa meg a képgyűjteményt a katalógusban, és rendelje hozzá
myVMSSIdentity
a közreműködői szerepkört. A szerepkör-hozzárendelés hozzáadásához kövesse az alábbi lépéseket.
Az egyéni rendszerkép létrehozása
Egyéni rendszerkép létrehozásához használhatja az Azure VM Image Builder DevOps-feladatát.
Adja hozzá a
AzureImageBuilderTask@1
feladatot a YAML-fájlhoz. Cserélje le a ,<RESOURCE GROUP>
értékét<SUBSCRIPTION ID>
<USER ASSIGNED IDENTITY NAME>
a saját értékére. Győződjön meg arról, hogy a ,managedIdentity
ésstorageAccountName
azgalleryImageId
értékek pontosak.- task: AzureImageBuilderTask@1 displayName: 'Azure VM Image Builder Task' inputs: managedIdentity: '/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>' imageSource: 'marketplace' packagePath: '$(System.DefaultWorkingDirectory)/pipeline-artifacts' inlineScript: | sudo mkdir /lib/buildArtifacts sudo cp "/tmp/pipeline-artifacts.tar.gz" /lib/buildArtifacts/. cd /lib/buildArtifacts/. sudo tar -zxvf pipeline-artifacts.tar.gz sudo sh install.sh storageAccountName: 'vmssstorageaccount2' distributeType: 'sig' galleryImageId: '/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/galleries/myVMSSGallery/images/MyImage/versions/0.0.$(Build.BuildId)' replicationRegions: 'eastus2' ibSubscription: '<SUBSCRIPTION ID>' ibAzureResourceGroup: 'myVMSSResourceGroup' ibLocation: 'eastus2'
Futtassa a folyamatot az első rendszerkép létrehozásához. Előfordulhat, hogy a folyamat futtatása során engedélyeznie kell az erőforrásokat .
Nyissa meg az új rendszerképet az Azure Portalon, és nyissa meg az Áttekintést. Válassza a VMSS létrehozása lehetőséget egy új virtuálisgép-méretezési csoport létrehozásához az új lemezképből. Virtuálisgép-méretezési csoport nevének beállítása a következőre
vmssScaleSet
: . A virtuálisgép-méretezési csoportok Azure Portalon való létrehozásával kapcsolatos további információkért lásd: Virtuálisgép-méretezési csoport létrehozása az Azure Portalon.
Frissítések üzembe helyezése a virtuálisgép-méretezési csoporton
Adjon hozzá egy Azure CLI-feladatot a folyamathoz a méretezési csoport frissítéseinek üzembe helyezéséhez. Adja hozzá a feladatot a folyamat végén. Cserélje le <SUBSCRIPTION ID>
az előfizetés azonosítóját.
- task: AzureCLI@2
inputs:
azureSubscription: '`YOUR_SUBSCRIPTION_ID`' #Authorize and in the task editor
ScriptType: 'pscore'
scriptLocation: 'inlineScript'
Inline: 'az vmss update --resource-group myVMSSResourceGroup --name vmssScaleSet --set virtualMachineProfile.storageProfile.imageReference.id=/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myVMSSResourceGroup/providers/Microsoft.Compute/galleries/myVMSSGallery/images/MyImage/versions/0.0.$(Build.BuildId)'
Az erőforrások eltávolítása
Lépjen az Azure Portalra, és törölje az erőforráscsoportot. myVMSSResourceGroup
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: