Mengotomatiskan penyebaran aplikasi ke Azure Spring Apps
Catatan
Paket Basic, Standard, dan Enterprise tidak digunakan lagi mulai pertengahan Maret 2025, dengan periode penghentian 3 tahun. Sebaiknya transisi ke Azure Container Apps. Untuk informasi selengkapnya, lihat pengumuman penghentian Azure Spring Apps.
Konsumsi Standar dan paket khusus akan ditolak mulai 30 September 2024, dengan pematian lengkap setelah enam bulan. Sebaiknya transisi ke Azure Container Apps. Untuk informasi selengkapnya, lihat Memigrasikan konsumsi Azure Spring Apps Standard dan paket khusus ke Azure Container Apps.
Artikel ini berlaku untuk: ✔️ Basic/Standard ✔️ Enterprise
Artikel ini menunjukkan cara menggunakan tugas Azure Spring Apps untuk Azure Pipelines guna menerapkan aplikasi.
Integrasi berkelanjutan dan alat pengiriman berkelanjutan memungkinkan Anda dengan cepat menyebarkan pembaruan ke aplikasi yang ada dengan upaya dan risiko minimal. Azure DevOps membantu mengorganisasi dan memantau tugas-tugas utama ini.
Video berikut menjelaskan otomatisasi end-to-end menggunakan alat pilihan Anda, termasuk Azure Pipelines.
Membuat koneksi layanan Azure Resource Manager
Pertama, buat koneksi layanan Azure Resource Manager ke proyek Azure DevOps Anda. Untuk petunjuk, lihat Menghubungkan ke Microsoft Azure. Pastikan untuk memilih langganan yang sama yang Anda gunakan untuk instans layanan Azure Spring Apps.
Membangun dan menyebarkan aplikasi
Anda sekarang dapat membangun dan menerapkan proyek Anda menggunakan serangkaian tugas. Templat Azure Pipelines berikut menentukan variabel, tugas .NET Core untuk membangun aplikasi, dan tugas Azure Spring Apps guna menyebarkan aplikasi.
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)
Siapkan instans Azure Spring Apps dan proyek Azure DevOps
Pertama, gunakan langkah-langkah berikut untuk menyiapkan instans Azure Spring Apps yang ada untuk digunakan dengan Azure DevOps.
- Buka instans Azure Spring Apps Anda, lalu buat aplikasi baru.
- Buka portal Azure DevOps, lalu buat proyek baru di bawah organisasi pilihan Anda. Jika Anda tidak memiliki organisasi Azure DevOps, Anda dapat membuatnya secara gratis.
- Pilih Repos, lalu impor kode demo Spring Boot ke repositori.
Membuat koneksi layanan Azure Resource Manager
Selanjutnya, buat koneksi layanan Azure Resource Manager ke proyek Azure DevOps Anda. Untuk petunjuk, lihat Menghubungkan ke Microsoft Azure. Pastikan untuk memilih langganan yang sama yang Anda gunakan untuk instans layanan Azure Spring Apps.
Membangun dan menyebarkan aplikasi
Anda sekarang dapat membangun dan menerapkan proyek Anda menggunakan serangkaian tugas. Bagian berikut menunjukkan kepada Anda berbagai opsi untuk menyebarkan aplikasi Anda menggunakan Azure DevOps.
Menyebarkan menggunakan alur
Untuk menyebarkan menggunakan alur, ikuti langkah-langkah berikut:
Pilih Alur, lalu buat alur baru dengan templat Maven.
Edit file azure-pipelines.yml untuk mengatur bidang
mavenPomFile
ke 'complete/pom.xml'.Pilih Tampilkan asisten di sisi kanan, lalu pilih templat Azure Spring Apps.
Pilih sambungan layanan yang Anda buat untuk Langganan Azure Anda, lalu pilih instans Azure Spring Apps dan instans aplikasi Anda.
Nonaktifkan Gunakan Penyebaran Pementasan.
Atur Paket atau folder ke complete/target/spring-boot-complete-0.0.1-SNAPSHOT.jar.
Pilih Tambahkan untuk menambahkan tugas ini ke alur Anda.
Pengaturan alur Anda harus sesuai dengan gambar berikut.
Anda juga dapat membangun dan menyebarkan proyek Anda menggunakan templat alur berikut. Contoh ini pertama-tama mendefinisikan tugas Maven untuk membangun aplikasi, diikuti oleh tugas kedua yang menyebarkan file JAR menggunakan tugas Azure Spring Apps untuk Azure Pipelines.
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
Pilih Simpan dan jalankan, lalu tunggu pekerjaan selesai.
Penyebaran biru-hijau
Penyebaran yang ditunjukkan di bagian sebelumnya segera menerima lalu lintas aplikasi saat penyebaran. Hal ini memungkinkan Anda untuk menguji aplikasi di lingkungan produksi sebelum menerima lalu lintas pelanggan.
Mengedit grafik alur
Untuk membangun aplikasi dengan cara yang sama seperti yang ditunjukkan sebelumnya dan menerapkannya ke penerapan pementasa, gunakan templat berikut. Dalam contoh ini, penyebaran penahapan harus sudah ada. Untuk pendekatan alternatif, lihat Strategi penyebaran biru-hijau.
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
Menggunakan bagian Rilis
Langkah-langkah berikut menunjukkan cara mengaktifkan penerapan biru-hijau dari bagian Rilis.
Pilih Alur dan buat alur baru untuk artefak build dan publikasikan Maven Anda.
- Pilih Azure Repos Git untuk lokasi kode Anda.
- Pilih repositori tempat kode Anda berada.
- Pilih templat Maven dan ubah file untuk mengatur bidang
mavenPomFile
kecomplete/pom.xml
. - Pilih Tampilkan asisten di sisi kanan dan pilih templat Publikasikan artefak bangunan.
- Atur Path to publish ke complete/target/spring-boot-complete-0.0.1-SNAPSHOT.jar.
- Pilih Simpan dan jalankan.
Pilih Rilis,lalu Buat rilis.
Tambahkan alur baru, dan pilih Kosongkan pekerjaan untuk membuat pekerjaan.
Di bawah Tahap pilih baris 1 pekerjaan, 0 tugas
- Pilih + untuk menambahkan tugas ke pekerjaan.
- Telusuri templat Azure Spring Apps, lalu pilih Tambahkan untuk menambahkan tugas ke pekerjaan.
- Pilih Azure Spring Apps Deploy: untuk mengedit tugas.
- Isi tugas ini dengan informasi aplikasi Anda, lalu nonaktifkan Gunakan Penyebaran Staging.
- Aktifkan Buat penyebaran staging baru jika belum ada, lalu masukkan nama di Penyebaran.
- Pilih Simpan untuk menyimpan tugas ini.
- Pilih OK.
Pilih Alur, lalu pilih Tambahkan artefak.
- Di bawah Sumber (bangun alur) pilih alur yang dibuat sebelumnya.
- Pilih Tambahkan, lalu Simpan.
Pilih 1 pekerjaan, 1 tugas di bawah Tahap.
Navigasikan ke tugas Azure Spring Apps Deploy di Tahap 1, lalu pilih elipsis di samping Paket atau folder.
Pilih spring-boot-complete-0.0.1-SNAPSHOT.jar dalam dialog, lalu pilih OK.
Pilih + untuk menambahkan tugas Azure Spring Apps lainnya ke pekerjaan.
Ubah tindakan menjadi Atur Penyebaran Produksi.
Pilih Simpan, lalu Buat rilis untuk memulai penyebaran secara otomatis.
Untuk memverifikasi status rilis aplikasi Anda saat ini, pilih Lihat rilis. Setelah tugas ini selesai, kunjungi portal Microsoft Azure untuk memverifikasi status aplikasi Anda.
Menyebarkan dari sumber
Untuk menyebarkan langsung ke Azure tanpa langkah build terpisah, gunakan templat alur berikut.
- 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)
Menyebarkan dari gambar kustom
Untuk menyebarkan langsung dari gambar kontainer yang ada, gunakan templat alur berikut.
- 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>'
Menyebarkan dan menentukan penyusun (hanya paket Perusahaan)
Jika Anda menggunakan paket Azure Spring Apps Enterprise, Anda juga dapat menentukan penyusun mana yang akan digunakan untuk menyebarkan tindakan menggunakan builder
opsi , seperti yang ditunjukkan dalam contoh berikut. Untuk informasi selengkapnya, lihat Menggunakan Tanzu Build Service.
- 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>'