Tutorial: Menyebarkan aplikasi Java ke set skala komputer virtual
Azure DevOps
Set skala komputer virtual memungkinkan Anda menyebarkan dan mengelola komputer virtual yang identik dan menskalakan otomatis.
Komputer virtual dibuat sesuai kebutuhan dalam set skala. Anda menentukan aturan untuk mengontrol bagaimana dan kapan VM ditambahkan atau dihapus dari set skala. Aturan ini dapat dipicu berdasarkan metrik seperti beban CPU, penggunaan memori, atau lalu lintas jaringan.
Dalam tutorial ini, Anda membuat aplikasi Java dan menyebarkannya ke set skala komputer virtual. Anda akan mempelajari cara untuk:
- Buat kumpulan skala komputer virtual
- Membangun citra komputer
- Menyebarkan gambar kustom ke set skala komputer virtual
Prasyarat
Sebelum Anda mulai, Anda perlu:
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Organisasi Azure DevOps aktif. Daftar ke Alur Azure.
- Tugas Azure VM Image Builder DevOps diinstal untuk organisasi DevOps Anda.
- Repositori GitHub fork dengan proyek contoh. Fork repositori pipelines-vmss.
Menyiapkan alur Java Anda
Masuk ke organisasi Azure DevOps Anda dan buka proyek Anda.
Buka Alur, lalu pilih Alur baru atau Buat alur jika membuat alur pertama Anda.
Lakukan langkah-langkah wizard dengan terlebih dahulu memilih GitHub sebagai lokasi kode sumber Anda.
Anda dapat diarahkan ke GitHub untuk masuk. Jika demikian, masukkan informasi masuk GitHub Anda.
Saat Anda melihat daftar repositori, pilih repositori Anda.
Anda mungkin diarahkan ke GitHub untuk menginstal aplikasi Azure Pipelines. Jika demikian, pilih Setujui & instal.
Saat tab Konfigurasi muncul, pilih Maven.
Mengkustomisasi alur
Ketika alur baru Anda muncul, tinjau YAML untuk melihat tindakan yang dilakukannya. Saat Anda siap, pilih Simpan dan jalankan.
Anda diminta untuk menerapkan file azure-pipelines.yml baru ke repositori Anda. Setelah Anda puas dengan pesan, pilih Simpan dan jalankan lagi.
Jika Anda ingin menonton alur Anda beraksi, pilih pekerjaan build.
Anda baru saja membuat dan menjalankan alur yang secara otomatis kami buat untuk Anda, karena kode Anda tampaknya cocok untuk templat Maven .
Anda sekarang memiliki alur YAML yang berfungsi (
azure-pipelines.yml
) di repositori Anda yang siap untuk Anda sesuaikan!Saat Anda siap untuk membuat perubahan pada alur Anda, pilih di halaman Alur , lalu Edit
azure-pipelines.yml
file.
Menambahkan tugas Salin File dan Menerbitkan Artefak Build
Perbarui alur Anda untuk menyertakan
CopyFiles@2
tugas. Ini akan membuat artefak yang dapat Anda sebarkan ke set skala komputer virtual Anda.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
Membuat gambar kustom dan mengunggahnya ke Azure
Anda memerlukan grup sumber daya, akun penyimpanan, dan galeri gambar bersama untuk gambar kustom Anda.
Membuat grup sumber daya dengan membuat grup az. Contoh ini membuat grup sumber daya bernama myVMSSResourceGroup di lokasi eastus2 :
az group create --name myVMSSResourceGroup --location eastus2
Buat akun penyimpanan baru. Contoh ini membuat akun penyimpanan,
vmssstorageaccount
.az storage account create \ --name vmssstorageaccount \ --resource-group myVMSSResourceGroup \ --location eastus2 \ --sku Standard_LRS
Membuat galeri gambar bersama.
az sig create --resource-group myVMSSResourceGroup --gallery-name myVMSSGallery
Buat galeri gambar baru di
myVMSSGallery
sumber daya. Lihat Membuat Azure Shared Image Gallery menggunakan portal untuk mempelajari selengkapnya tentang bekerja dengan galeri gambar.az sig create --resource-group myVMSSResourceGroup --gallery-name myVMSSGallery
Buat definisi gambar.
id
Salin gambar baru yang terlihat seperti/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/galleries/myVMSSGallery/images/MyImage
.az sig image-definition create -g myVMSSResourceGroup --gallery-name myVMSSGallery --gallery-image-definition MyImage --publisher GreatPublisher --offer GreatOffer --sku GreatSku --os-type linux
Buat identitas terkelola
Buat identitas terkelola di grup sumber daya Anda.
az identity create -g myVMSSResourceGroup -n myVMSSIdentity
Dari output, salin
id
. Akanid
terlihat seperti/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>
.Buka galeri gambar Anda di galeri dan tetapkan
myVMSSIdentity
peran Kontributor. Ikuti langkah-langkah ini untuk menambahkan penetapan peran.
Membuat gambar kustom
Untuk membuat gambar kustom, Anda dapat menggunakan Tugas Azure VM Image Builder DevOps.
Tambahkan tugas ke
AzureImageBuilderTask@1
file YAML Anda. Ganti nilai untuk<SUBSCRIPTION ID>
,<RESOURCE GROUP>
,<USER ASSIGNED IDENTITY NAME>
dengan nilai Anda sendiri. Pastikan untuk memverifikasi bahwagalleryImageId
nilai ,managedIdentity
danstorageAccountName
akurat.- 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'
Jalankan alur untuk menghasilkan gambar pertama Anda. Anda mungkin perlu mengotorisasi sumber daya selama eksekusi alur.
Buka gambar baru di portal Azure dan buka Gambaran Umum. Pilih Buat VMSS untuk membuat set skala komputer virtual baru dari gambar baru. Atur Nama set skala komputer virtual ke
vmssScaleSet
. Lihat Membuat set skala komputer virtual di portal Azure untuk mempelajari selengkapnya tentang membuat set skala komputer virtual di portal Azure.
Menyebarkan pembaruan ke set skala komputer virtual
Tambahkan tugas Azure CLI ke alur Anda untuk menyebarkan pembaruan ke set skala. Tambahkan tugas di akhir alur. Ganti <SUBSCRIPTION ID>
dengan ID Langganan Anda.
- 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)'
Membersihkan sumber daya
Buka portal Azure dan hapus grup sumber daya Anda, myVMSSResourceGroup
.
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk