Gunakan jenis penerapan ini untuk menerbitkan aplikasi ketika file sumbernya disimpan di Object Storage Service (OSS).
Cara kerja
Jika Anda menerapkan ke kelompok aplikasi yang merupakan kelompok Auto Scaling (ESS), aktivitas penskalaan dijeda selama penerapan. Aktivitas tersebut secara otomatis dilanjutkan setelah penerapan selesai, baik berhasil maupun gagal.
Proses penerapan mengikuti prinsip berhenti-lalu-mulai. Setiap penerapan terlebih dahulu menjalankan skrip berhenti, lalu menjalankan skrip mulai.
Buat dan terbitkan penerapan.
Konfigurasikan file sumber aplikasi, skrip mulai, dan skrip berhenti untuk penerapan tersebut.
Buat tugas rilis, pilih mode rilis, lalu terbitkan penerapan ke kelompok aplikasi target.
Alur penerapan otomatis.
Ambil informasi penerapan, termasuk detail file OSS dan skrip mulai serta berhenti aplikasi.
Unduh file: File OSS secara otomatis diunduh ke direktori kerja.
Jalankan skrip berhenti: Jalankan skrip berhenti untuk menghentikan versi lama aplikasi.
Jalankan skrip mulai: Jalankan skrip mulai untuk memulai versi baru aplikasi.
Cakupan
Penerapan hanya didukung pada instans Linux.
Skrip mulai dan berhenti harus berupa skrip Shell.
Prosedur
Buat aplikasi dan impor instans Elastic Compute Service (ECS).
Jika Anda belum memiliki instans ECS, Anda dapat membuat instans ECS Linux dari halaman ECS console - Custom Launch.
Kami merekomendasikan penggunaan citra ECS Alibaba Cloud Linux 3.2104 LTS 64-bit atau Ubuntu 22.04 64-bit. Skrip dalam contoh berikut didasarkan pada kedua citra tersebut. Jika Anda menggunakan citra lain, sesuaikan skripnya sesuai kebutuhan.
Buka halaman ECS console - Application Management, klik Create from Existing Resources, buat aplikasi dan kelompok aplikasi, lalu impor instans ECS ke dalam kelompok aplikasi tersebut.
Buat penerapan OSS.
Unduh paket JAR sampel resmi dan unggah ke OSS.
Buka halaman ECS console - Application Management. Pada tab My Applications, klik nama aplikasi target.
Pada halaman detail aplikasi, pilih tab Deployments, lalu klik Create Deployment.
Pada halaman Create Deployment, atur Deployment type ke OSS File. Konfigurasikan parameter lalu klik OK.
Informasi file OSS: Tentukan Bucket OSS dan jalur menuju paket JAR.
Jika instans ECS dan Bucket OSS berada di wilayah yang sama, Anda dapat memilih Internal Network Download untuk meningkatkan kecepatan unduh.
Direktori kerja: Direktori tempat skrip mulai dan berhenti dijalankan. File OSS secara otomatis diunduh ke direktori ini. Contoh:
/root/deploy.Alibaba Cloud Linux
function start_application() { set -e yum install -y maven-3.5.4 java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_applicationUbuntu
function start_application() { set -e apt update apt install -y maven java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_application### Hentikan aplikasi (jika ada) function stop_application() { PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi } stop_application
Kembali ke daftar penerapan, temukan penerapan yang telah Anda buat, lalu klik Publish. Pilih kelompok target lalu klik OK untuk memulai penerapan.
Verifikasi hasilnya.
Buka halaman detail instans target. Klik Connect dan pilih Workbench. Ikuti petunjuk pada halaman untuk login ke terminal.
Jalankan perintah
curl http://localhost:8080/hello. Nilai kembaliAlibaba Spring Sample!menunjukkan bahwa penerapan berhasil.
Bidang penting
Bidang | Deskripsi |
OSS Region | Wilayah Bucket OSS yang berisi file sumber. |
OSS Bucket | Bucket OSS yang berisi file sumber. |
OSS File | Objek file sumber di dalam Bucket OSS. |
OSS File Version | ID versi spesifik dari file tersebut. Bidang ini wajib diisi hanya jika versioning diaktifkan untuk Bucket tersebut. Jika versioning tidak diaktifkan, biarkan bidang ini kosong. |
Internal Network Download | Pilih opsi ini ketika instans ECS dan Bucket OSS berada di wilayah yang sama. |
Direktori kerja | Jalur unduh untuk file sumber aplikasi. Ini juga merupakan direktori eksekusi untuk skrip mulai dan berhenti.
|
Skrip mulai aplikasi | Skrip Shell untuk memulai aplikasi. |
Skrip berhenti aplikasi | Skrip Shell untuk menghentikan aplikasi. Sebagai contoh, skrip berikut menghentikan kontainer bernama |