Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Azure Spring Apps adalah nama baru untuk layanan Azure Spring Cloud. Meskipun layanan ini memiliki nama baru, Anda akan melihat nama lama di beberapa tempat untuk sementara waktu saat kami bekerja untuk memperbarui aset seperti cuplikan layar, video, dan diagram.
Azure Spring Apps adalah pengembangan layanan mikro yang dikelola sepenuhnya dengan penemuan layanan bawaan dan manajemen konfigurasi. Layanan ini memudahkan penyebaran aplikasi layanan mikro berbasis Spring Boot ke Azure. Tutorial ini menunjukkan bagaimana Anda dapat menggunakan Azure CLI di Jenkins untuk mengotomatiskan integrasi dan pengiriman berkelanjutan (CI/CD) untuk Azure Spring Apps.
Dalam tutorial ini, Anda akan menyelesaikan tugas-tugas ini:
- Menyediakan instans layanan dan meluncurkan aplikasi Java Spring
- Menyiapkan server Jenkins Anda
- Menggunakan Azure CLI dalam alur Jenkins untuk membangun dan menyebarkan aplikasi layanan mikro
Prasyarat
- Langganan Azure: Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.
- Jenkins: Menginstal Jenkins di VM Linux
- Akun GitHub: Jika Anda tidak memiliki akun GitHub, buat akun gratis sebelum Memulai.
Menyediakan instans layanan dan meluncurkan aplikasi Java Spring
Kami menggunakan Metrik Piggy sebagai contoh aplikasi layanan Microsoft dan mengikuti langkah yang sama di Mulai Cepat: Meluncurkan aplikasi Java Spring menggunakan Azure CLI untuk menyediakan instans layanan dan menyiapkan aplikasi. Jika Anda sudah melalui proses yang sama, Anda dapat melompat ke bagian berikutnya. Selain itu, berikut ini adalah perintah Azure CLI yang disertakan. Lihat Mulai Cepat: Luncurkan aplikasi Java Spring menggunakan Azure CLI untuk mendapatkan informasi selengkapnya.
Komputer lokal Anda perlu memenuhi prasyarat yang sama dengan server build Jenkins. Pastikan berikut ini diinstal untuk membangun dan menyebarkan aplikasi layanan mikro:
- Git
- JDK 8
- Maven 3.0 atau lebih tinggi
- Azure CLI diinstal, versi 2.0.67 atau lebih tinggi
Instal ekstensi Azure Spring Apps:
az extension add --name springBuat grup sumber daya untuk berisi layanan Azure Spring Apps Anda:
az group create --location eastus --name <resource group name>Penyediakan sebuah instans dari Azure Spring Apps:
az spring create -n <service name> -g <resource group name>Fork repo Piggy Metrics ke akun GitHub Anda sendiri. Di komputer lokal Anda, kloning repositori Anda di direktori yang disebut
source-code:mkdir source-code git clone https://github.com/<your GitHub id>/piggymetricsSiapkan server konfigurasi Anda. Pastikan Anda mengganti <id> GitHub Anda dengan nilai yang benar.
az spring config-server git set -n <your-service-name> --uri https://github.com/<your GitHub id>/piggymetrics --label configBangun proyek tersebut:
cd piggymetrics mvn clean package -D skipTestsBuat tiga layanan mikro: gateway, layanan autentikasi, dan layanan akun:
az spring app create --n gateway -s <service name> -g <resource group name> az spring app create --n auth-service -s <service name> -g <resource group name> az spring app create --n account-service -s <service name> -g <resource group name>Sebarkan aplikasi:
az spring app deploy -n gateway -s <service name> -g <resource group name> --jar-path ./gateway/target/gateway.jar az spring app deploy -n account-service -s <service name> -g <resource group name> --jar-path ./account-service/target/account-service.jar az spring app deploy -n auth-service -s <service name> -g <resource group name> --jar-path ./auth-service/target/auth-service.jarTetapkan titik akhir publik ke gateway:
az spring app update -n gateway -s <service name> -g <resource group name> --is-public trueKueri aplikasi gateway untuk mendapatkan url sehingga Anda dapat memverifikasi bahwa aplikasi sedang berjalan.
az spring app show --name gateway | grep urlNavigasikan ke URL yang disediakan oleh perintah sebelumnya untuk menjalankan aplikasi PiggyMetrics.
Menyiapkan server Jenkins
Di bagian ini, Anda menyiapkan server Jenkins untuk menjalankan build, yang baik-baik saja untuk pengujian. Namun, karena implikasi keamanan, Anda harus menggunakan agen Azure VM atau agen Azure Container untuk memutar agen di Azure untuk menjalankan build Anda.
Memasang plugin
Masuk ke server Jenkins Anda.
Pilih Kelola Jenkins.
Pilih Kelola Plugin.
Pada tab Tersedia , pilih plug-in berikut ini:
Jika plug-in ini tidak muncul dalam daftar, periksa tab Terinstal untuk melihat apakah plug-in ini sudah diinstal.
Untuk menginstal plug-in, pilih Unduh sekarang dan instal setelah menghidupkan ulang.
Mulai ulang server Jenkins Anda untuk menyelesaikan penginstalan.
Menambahkan kredensial Azure Service Principal Anda di penyimpanan kredensial Jenkins
Anda memerlukan Azure Service Principal untuk melakukan deployment ke Azure. Untuk informasi selengkapnya, lihat bagian Create service principal pada tutorial Sebarkan ke Azure App Service. Output dari
az ad sp create-for-rbacterlihat seperti ini:{ "appId": "xxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxx", "displayName": "xxxxxxxjenkinssp", "name": "http://xxxxxxxjenkinssp", "password": "xxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxx", "tenant": "xxxxxx--xxx-xxxx-xxx-xxxxxxxxxxxx" }Pada dasbor Jenkins, pilih Kredensial>Sistem. Kemudian, pilih Kredensial global (tidak dibatasi).
Pilih Tambahkan Kredensial.
Pilih Perwakilan Layanan Microsoft Azure sebagai jenis.
Berikan nilai untuk bidang berikut:
- ID Langganan: ID langganan Azure
- ID Klien: Appid perwakilan layanan
- Rahasia Klien: Kata sandi perwakilan layanan
- ID Penyewa: ID penyewa akun Microsoft
- Lingkungan Azure: Pilih nilai yang sesuai untuk lingkungan Anda. Misalnya, gunakan Azure untuk Azure Global
-
ID: Atur sebagai
azure_service_principal. Kami menggunakan ID ini di langkah selanjutnya dalam artikel ini - Deskripsi: Nilai ini bersifat opsional, tetapi direkomendasikan dari sudut siaga dokumentasi/pemeliharaan.
Menginstal Maven dan ekstensi Spring untuk Azure CLI
Alur sampel menggunakan Maven untuk membangun dan Azure CLI untuk disebarkan ke instans layanan. Ketika Jenkins diinstal, jenkins membuat akun admin bernama jenkins. Pastikan bahwa pengguna jenkins memiliki izin untuk menjalankan ekstensi spring.
Sambungkan ke pengontrol Jenkins melalui SSH.
Pasang Maven.
sudo apt-get install mavenVerifikasi bahwa Azure CLI diinstal dengan memasukkan
az version. Jika Azure CLI tidak diinstal, lihat Menginstal Azure CLI.Beralih pengguna ke
jenkinssudo su jenkinsPasang ekstensi spring:
az extension add --name spring
Membuat Jenkinsfile
Dalam repositori Anda sendiri -
https://github.com/your_github_id/piggymetrics- buat Jenkinsfile di root.Perbarui file sebagai berikut. Pastikan Anda mengganti nilai <nama> grup sumber daya dan <nama> layanan. Ganti azure_service_principal dengan ID yang tepat jika Anda menggunakan nilai yang berbeda saat menambahkan kredensial di Jenkins.
node { stage('init') { checkout scm } stage('build') { sh 'mvn clean package' } stage('deploy') { withCredentials([azureServicePrincipal('azure_service_principal')]) { // Log in to Azure sh ''' az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET -t $AZURE_TENANT_ID az account set -s $AZURE_SUBSCRIPTION_ID ''' // Set default resource group name and service name. Replace <resource group name> and <service name> with the right values sh 'az config set defaults.group=<resource group name>' sh 'az config set defaults.spring=<service name>' // Deploy applications sh 'az spring app deploy -n gateway --jar-path ./gateway/target/gateway.jar' sh 'az spring app deploy -n account-service --jar-path ./account-service/target/account-service.jar' sh 'az spring app deploy -n auth-service --jar-path ./auth-service/target/auth-service.jar' sh 'az logout' } } }Simpan dan terapkan perubahan.
Membuat pekerjaan
Pada dasbor Jenkins, pilih Item Baru.
Berikan nama, Deploy-PiggyMetrics untuk pekerjaan dan pilih Pipeline. Klik OK.
Pilih tab Alur .
Untuk Definisi, pilih Skrip alur dari SCM.
Untuk SCM, pilih Git.
Masukkan URL GitHub untuk repositori fork Anda:
https://github.com/<your GitHub id>/piggymetrics.git.Untuk Penentu Cabang (hitam untuk 'apa pun'), pilih /Azure.
Untuk Jalur skrip, pilih Jenkinsfile.
Pilih Simpan
Memvalidasi dan menjalankan tugas
Sebelum menjalankan pekerjaan, edit teks dalam kotak input masuk untuk memasukkan ID masuk.
Di repositori Anda, buka
index.htmldi/gateway/src/main/resources/static/.Cari
enter your logindan perbarui teks tersebut keenter login ID.<input class="frontforms" id="frontloginform" name="username" placeholder="enter login ID" type="text" autocomplete="off"/>Simpan dan terapkan perubahan.
Jalankan pekerjaan di Jenkins secara manual. Pada dasbor Jenkins, pilih pekerjaan
Deploy-PiggyMetricslalu pilih Bangun Sekarang.
Setelah pekerjaan selesai, navigasikan ke IP gateway publik aplikasi dan verifikasi bahwa aplikasi Anda telah diperbarui.
Membersihkan sumber daya
Jika tidak lagi diperlukan, hapus sumber daya yang dibuat dalam artikel ini:
az group delete -y --no-wait -n <resource group name>