Paket penyebaran berbasis perintah saja menyebarkan aplikasi sepenuhnya melalui skrip, tanpa memerlukan file sumber apa pun.
Cara kerja
-
Jika Anda melakukan penyebaran ke kelompok Auto Scaling (ESS), aktivitas penskalaan dijeda selama penyebaran dan dilanjutkan secara otomatis setelah penyebaran selesai, terlepas dari hasilnya.
-
Setiap penyebaran mengikuti urutan stop-lalu-start: skrip stop dijalankan terlebih dahulu, lalu skrip start.
-
Buat dan publikasikan penyebaran.
Tentukan lokasi file sumber aplikasi di OSS, bersama dengan skrip start dan stop.
Buat task rilis, pilih mode rilis, lalu publikasikan penyebaran ke kelompok aplikasi target.
-
Proses penyebaran otomatis bekerja sebagai berikut:
-
Layanan mengambil informasi paket penyebaran, termasuk skrip startup dan shutdown.
-
Layanan mengeksekusi skrip shutdown untuk menghentikan versi aplikasi sebelumnya.
-
Layanan mengeksekusi skrip startup untuk menjalankan versi aplikasi baru.
-
Catatan penggunaan
-
Penyebaran hanya didukung pada instans Linux.
-
Skrip start dan stop harus berupa skrip shell.
Prosedur
Contoh aplikasi Java
-
Buat aplikasi dan impor Instance Elastic Compute Service (ECS) Anda.
-
Jika Anda belum memiliki instance ECS, buka halaman Konsol ECS - Custom Launch untuk membuat instance ECS Linux.
Skrip contoh berikut ditujukan untuk image-image ini. Jika Anda menggunakan image berbeda, Anda harus menyesuaikan skrip tersebut.
-
Buka halaman Konsol ECS - Application management lalu klik Create from Existing Resources untuk membuat aplikasi dan kelompok aplikasi, serta mengimpor instance ECS ke dalam kelompok aplikasi.
-
-
Buat paket penyebaran.
-
Buka halaman Konsol ECS - Application management. Pada tab My Applications, klik nama aplikasi target Anda.
-
Pada halaman detail aplikasi, pilih tab Deployment, lalu klik Create Deployment.
-
Pada halaman Create Deployment, atur Deployment Package Type menjadi Run Command, konfigurasikan parameter, lalu klik OK.
-
Working directory: Tentukan direktori kerja untuk skrip startup dan shutdown. Contoh:
/root/deploy. -
Alibaba Cloud Linux
start_application() { set -e curl -O https://oos-public-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/code-deploy/sample-spring-1.0-SNAPSHOT.jar yum install -y maven-3.5.4 java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_applicationUbuntu
start_application() { set -e curl -O https://oos-public-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/code-deploy/sample-spring-1.0-SNAPSHOT.jar apt update apt install -y maven java -jar ./sample-spring-1.0-SNAPSHOT.jar & } start_application -
### Hentikan aplikasi (jika ada) 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 penyebaran, temukan penyebaran yang telah Anda buat, lalu klik Deploy. Pilih kelompok target dan klik OK untuk memulai penyebaran.
-
Verifikasi hasilnya.
Buka halaman detail instance target. Klik Connect dan pilih Workbench. Ikuti petunjuk di layar untuk mengakses terminal.
-
Jalankan perintah
curl http://localhost:8080/hello. Respons berupaAlibaba Spring Sample!menandakan penyebaran berhasil.
Contoh aplikasi Docker
-
Siapkan aplikasi, kelompok, dan instance ECS.
Sebelum melakukan penyebaran, buat aplikasi dan kelompok di ECS Application Management. Lalu, tambahkan instance ECS Anda ke dalam kelompok tersebut.
-
Jika Anda belum memiliki instance ECS, buka halaman Konsol ECS - Custom Launch untuk membuat instance ECS Linux.
Skrip contoh berikut ditujukan untuk image-image ini. Jika Anda menggunakan image berbeda, Anda harus menyesuaikan skrip tersebut.
-
Buka halaman Konsol ECS - Application management lalu klik Create from Existing Resources untuk membuat aplikasi dan kelompok aplikasi, serta mengimpor instance ECS ke dalam kelompok aplikasi.
-
Instal Docker pada instance ECS dalam kelompok tersebut. Pada tab O&M kelompok aplikasi, pilih ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL untuk menginstal Docker secara batch.
Jika instance ECS Anda dibuat dari custom image, Anda tidak dapat menginstal ekstensi dengan cara ini. Anda harus terhubung secara remote ke instance tersebut dan menginstal Docker secara manual.
-
-
Buat paket penyebaran.
-
Ambil contoh gambar ke mesin lokal Anda, lalu dorong gambar tersebut ke repositori ACR Personal Edition Anda.
docker pull aliyun-computenest-opensource-registry.cn-hangzhou.cr.aliyuncs.com/default/aliyun-code-deploy:latest -
Buka halaman Konsol ECS - Application management. Pada tab My Applications, klik nama aplikasi target Anda.
-
Pada halaman detail aplikasi, pilih tab Parameters lalu klik Create Parameter. Buat dua parameter:
usernamedanpassword, untuk username dan password ACR Personal Edition. Untuk memastikan keamanan, atur parameterpasswordsebagai parameter terenkripsi. -
Pada halaman detail aplikasi, pilih tab Deployment, lalu klik Create Deployment.
-
Pada halaman Create Deployment, atur Deployment Package Type menjadi Run Command, konfigurasikan parameter, lalu klik OK.
-
Working directory: Tentukan direktori eksekusi untuk skrip startup dan shutdown. Contoh:
/root/deploy. -
Application startup script: Ganti placeholder
<repo>dan<image>dengan nilai repositori dan image ACR Personal Edition Anda.repoadalah alamat repositori ACR Personal Edition Anda danimageadalah nama lengkap image tersebut. Ganti parameter yang sesuai dalam skrip startup dengan nilai kedua bidang ini.### Jalankan versi aplikasi saat ini start_application() { repo="<repo>" image="<image>" container_name="my-container" docker login --username=${username} --password=${password} $repo docker pull $image docker run -d -p 8080:8080 --name $container_name $image } start_application -
### Hentikan kontainer (jika ada) stop_application() { # Cari kontainer berdasarkan nama dan hapus jika ada. container_name="my-container" container_id=$(docker ps -aq -f name=${container_name}) if [ -n "$container_id" ]; then docker rm -f $container_id fi } stop_application
-
-
-
Kembali ke daftar penyebaran, temukan penyebaran yang telah Anda buat, lalu klik Deploy. Pilih kelompok target dan klik OK untuk memulai penyebaran.
-
Verifikasi hasilnya.
Buka halaman detail instance target. Klik Connect dan pilih Workbench. Ikuti petunjuk di layar untuk mengakses terminal.
-
Jalankan perintah
curl http://localhost:8080/hello. Respons berupaAlibaba Spring Sample!menandakan penyebaran berhasil.
Parameter utama
|
Parameter |
Deskripsi |
|
Working directory |
Direktori kerja untuk skrip startup dan shutdown.
|
|
Application startup script |
Skrip shell yang menjalankan aplikasi. |
|
Application shutdown script |
Skrip shell untuk menghentikan aplikasi. Sebagai contoh, skrip berikut menghentikan kontainer bernama
|