Sebarkan artefak dari pipeline Flow ke host publik,. Panduan ini mencakup koneksi host, pembuatan pekerjaan penerapan, konfigurasi, dan rollback.
Alur Kerja
Hubungkan host baru: Buat kelompok host dan tambahkan host.
Tambahkan pekerjaan penerapan host: Buat atau tambahkan pekerjaan penerapan ke pipeline.
Konfigurasikan pekerjaan penerapan host: Atur parameter penerapan.
Kelola pekerjaan penerapan: Lihat detail penerapan dan lakukan rollback penerapan.
Hubungkan host
Pada halaman utama Flow, klik Global Settings > Host Group Management.
Pada halaman Host Group Management, pilih kelompok host dan klik Add New Host. Flow mendukung metode koneksi berikut.
Jika belum ada kelompok host, buat kelompok host terlebih dahulu.
Instal runner secara manual
CatatanMetode ini berlaku untuk semua jenis host, termasuk instance ECS Alibaba Cloud dan host non-Alibaba Cloud.
Pada halaman Add New Host, pilih Manually Install Runner sebagai metode koneksi.
Pada bagian Connect Host, pilih Linux untuk Operating System Type, salin perintah instalasi Runner, lalu jalankan di host target. Host harus memiliki akses jaringan publik. Perintah tersebut berisi parameter sementara (versi Runner, token, dan AccessKey) dan akan kedaluwarsa setelah jangka waktu tertentu. Setelah perintah selesai dijalankan, klik I Understand.
Output terminal berikut menunjukkan koneksi berhasil.
INFO[2025-04-29T13:34:12+08:00] service type linux-systemd, user , realUser root INFO[2025-04-29T13:34:12+08:00] Aliyun yunxiao runner-v0.3.1-be-d5zh**** service started INFO[2025-04-29T13:34:12+08:00] Aliyun yunxiao runner-v0.3.1-be-d5zh**** service status runningSetelah Runner terinstal, host secara otomatis ditambahkan ke kelompok host saat ini. Segarkan daftar host untuk memverifikasi.
Sebarkan ke host non-Alibaba Cloud
Anda dapat menyebarkan aplikasi ke host milik Anda sendiri (non-Alibaba Cloud) dengan Flow. Edisi enterprise tidak diperlukan.
Untuk menyebarkan ke host non-Alibaba Cloud:
Instal Runner pada host target menggunakan metode Manually Install Runner yang dijelaskan di atas.
Saat membuat pipeline, pilih templat yang mendukung penerapan host, seperti templat Java · Test, Build, and Deploy to Alibaba Cloud ECS/Your Own Host.
CatatanLangkah Execute Shell tidak mendukung koneksi tanpa password ke host. Untuk menjalankan perintah pada host jarak jauh tanpa memasukkan kredensial, gunakan langkah VM Deploy dengan Runner yang telah dipra-instal.
Tambahkan pekerjaan penerapan host
Anda dapat menambahkan pekerjaan penerapan host dengan salah satu cara berikut.
Dari templat
Saat membuat pipeline, pilih bahasa dan templat yang mencakup pekerjaan VM Deploy.
Misalnya, pilih Java sebagai bahasa lalu pilih templat Java · Test, Build, and Deploy to Alibaba Cloud ECS/Your Own Host.
Tambahkan ke pipeline
Pada pipeline yang sudah ada, klik New Task lalu pilih VM Deploy.
Penerapan multi-lingkungan dan multi-wilayah
Lakukan penerapan lintas wilayah
Untuk menerapkan ke host di wilayah berbeda (misalnya, AS dan Jepang) dalam satu pipeline, buat kelompok host terpisah untuk setiap wilayah. Tambahkan pekerjaan VM Deploy untuk setiap kelompok host dalam pipeline.
Orkestrasi beberapa layanan mikro
Untuk menerapkan beberapa layanan mikro ke banyak host, Anda dapat menggunakan satu pipeline dengan pekerjaan build dan penerapan terpisah untuk setiap layanan, atau buat pipeline individual per layanan untuk pemeliharaan independen. Anda tidak perlu membuat pipeline terpisah untuk setiap host — atur penerapan paralel dalam kelompok host.
Pilih lingkungan penerapan saat runtime
Flow tidak mendukung pemilihan dinamis lingkungan penerapan selama eksekusi pipeline. Untuk mengontrol lingkungan tujuan penerapan:
Buat kelompok host terpisah untuk setiap lingkungan (misalnya, staging dan production).
Tambahkan pekerjaan VM Deploy untuk setiap kelompok host dalam pipeline.
Sisipkan node Manual Confirmation di antara pekerjaan penerapan untuk mengontrol alur eksekusi.
Pilih komponen penerapan yang tepat
Saat menerapkan ke instance ECS Alibaba Cloud, gunakan komponen VM Deploy alih-alih komponen ECS Application. Komponen VM Deploy terhubung ke host melalui agen Runner dan secara tepat dikaitkan dengan instance host Anda.
Konfigurasikan pekerjaan penerapan host
Bagian ini menggunakan proyek kode contoh Java untuk menunjukkan konfigurasi. Untuk tahap pengujian dan build, lihat Test and build. Saat mengunggah artefak, sertakan file deploy.sh dari repositori.
Pilih Download Artifacts During Deployment. Opsi ini dipilih secara default.
Pilih Artifact Name.
Pilih Host Group tujuan penerapan. Untuk membuat yang baru, klik New Host Group. Manajemen kelompok host.
PentingKelompok host mengelola sumber daya dan konfigurasi penerapan. Semua host dalam kelompok harus memiliki lingkungan runtime Java.
Tentukan parameter Deployment Configuration.
Parameter
Deskripsi
Download path
Jalur pada host tempat artefak diunduh.
Execute user
Akun pengguna yang menjalankan perintah penerapan, misalnya root.
Deployment script
Pada contoh ini, skrip penerapan mengekstrak paket dan menjalankannya.
mkdir -p /home/admin/application tar zxvf /home/admin/app/package.tgz -C /home/admin/application/ sh /home/admin/application/deploy.sh restartdeploy.sh adalah skrip shell yang menjalankan paket JAR. Gantilah dengan skrip penerapan Anda sendiri di lingkungan produksi.
PentingSelama penerapan, Flow menjalankan proses dengan nama yang diawali
rdc_deploy_command_. Jangan mengoperasikan proses-proses ini dalam skrip penerapan Anda, karena dapat menyebabkan kegagalan penerapan.Konfigurasikan Deployment Strategy.
Untuk menerapkan ke beberapa host sekaligus, gunakan rilis bertahap. Tentukan strategi penerapan dalam pekerjaan penerapan host. Misalnya, dengan empat host dan dua batch, Flow menerapkan ke dua host per batch.
Pause strategy
Deskripsi
FirstBatchPause
Setelah batch pertama selesai, verifikasi hasilnya. Klik Continue untuk menerapkan batch berikutnya.
No Pause
Semua batch diterapkan secara otomatis tanpa jeda.
EveryBatchPause
Setiap batch memerlukan persetujuan manual sebelum batch berikutnya dimulai.
Batch number: Jumlah total batch penerapan. Host dibagi menjadi jumlah batch yang ditentukan.
Untuk menggunakan variabel lingkungan dalam penerapan, lihat Variabel lingkungan.
Lihat deskripsi parameter di atas untuk konfigurasi lengkap.
Penggunaan skrip penerapan
Bidang Deployment Script bersifat opsional. Jika dibiarkan kosong, Flow hanya mengunduh artefak ke host tanpa melakukan tindakan penerapan apa pun. Tidak ada error yang dilaporkan. Tulis logika ekstraksi, konfigurasi, dan startup dalam skrip penerapan untuk menyelesaikan penerapan.
Skrip penerapan inline memiliki batas panjang karakter. Jika skrip Anda melebihi batas tersebut, unggah file skrip shell ke repositori Git atau host target, lalu panggil dalam bidang Deployment Script. Contohnya:
sh /home/admin/deploy.shTerapkan beberapa layanan secara independen pada satu host
Jika Anda menerapkan beberapa layanan ke host yang sama dan ingin merilisnya secara independen, buat kelompok host terpisah untuk setiap layanan. Kelompok host tersebut dapat berisi host yang sama. Konfigurasikan pekerjaan penerapan terpisah untuk setiap kelompok host dalam pipeline, dan tentukan jalur unduh serta skrip startup berbeda untuk mengisolasi setiap penerapan.
Jalankan skrip secara paralel
Untuk menjalankan beberapa skrip secara paralel pada satu host, tambahkan komponen VM Deploy tambahan ke pipeline tanpa memilih Download Artifacts During Deployment. Tulis perintah skrip Anda langsung dalam komponen ini. Skrip dalam komponen VM Deploy yang berbeda dijalankan secara paralel dengan penerapan utama.
Mekanisme penerapan dan transfer artefak
Unduh artefak lengkap
Setiap penerapan host mengunduh paket artefak lengkap. Pembaruan inkremental tidak didukung.
Tahap build vs. tahap penerapan
Langkah "install" dalam konfigurasi build menginstal dependensi seperti JDK dan Maven pada kluster build Flow, bukan pada host Anda. Langkah "upload artifact" memaketkan dan mengunggah file ke repositori artefak. Artefak diunduh ke host Anda hanya selama tahap penerapan.
Terapkan sumber daya statis ke host
Untuk menerapkan file HTML atau file statis lainnya ke host:
Pada tahap build, paketkan file sumber ke dalam artefak.
Dalam skrip penerapan, ekstrak file ke direktori target:
mkdir -p /home/admin/www/html tar zxvf /home/admin/app/package.tgz -C /home/admin/www/html/
Terapkan artefak ke direktori kustom
Untuk menerapkan file JAR atau artefak lain ke direktori kustom seperti /app/jar/zh:
mkdir -p /app/jar/zh
tar zxvf /home/admin/app/package.tgz -C /app/jar/zh/
cd /app/jar/zh && sh start.shAnda juga dapat menempatkan skrip startup di host target terlebih dahulu.
Terapkan dengan Docker Compose
Flow mendukung penerapan aplikasi dengan Docker Compose. Jalankan perintah docker-compose dalam Deployment Script.
Prasyarat
Docker dan Docker Compose harus diinstal pada host target sebelum penerapan.
Sinkronkan file docker-compose.yml
Pipeline tidak secara otomatis mentransfer file docker-compose.yml dari repositori kode ke host target. Gunakan salah satu metode berikut agar file tersedia di host target:
Paketkan file
docker-compose.ymlke dalam artefak build selama tahap build. File tersebut diunduh ke host bersama artefak selama penerapan.Transfer file dalam skrip penerapan menggunakan
scp,wget, ataugit clone.
Contoh skrip penerapan:
cd /home/admin/app
tar zxvf package.tgz
docker-compose up -dTerapkan proyek berbasis kode Python atau lainnya
Untuk proyek Python atau serupa, unggah kode ke repositori artefak selama tahap build, lalu unduh dan ekstrak selama penerapan. Atau, tarik kode dari Git dalam skrip penerapan.
Kelola pekerjaan penerapan
Lihat detail penerapan
Setelah mengonfigurasi pekerjaan penerapan, jalankan pipeline. Selama penerapan, klik deployment details untuk melihat statusnya. Pada halaman detail eksekusi pipeline, temukan pekerjaan VM Deploy lalu klik deployment details untuk membuka halaman detail.
Status penerapan | Deskripsi |
Deploying | Anda dapat Stop penerapan atau melihat log. |
To be deployed | Tidak ada tindakan yang tersedia. |
Succeeded | Anda dapat melihat log penerapan. |
Failed | Klik Retry pada tampilan kartu untuk memulai ulang penerapan. Anda juga dapat melihat log penerapanFAQ untuk troubleshooting. |
Skipped | Pekerjaan penerapan ini dilewati. |
Lakukan rollback penerapan
Pada Deployment History pipeline, temukan penerapan yang ingin di-rollback lalu klik Roll Back.
Rollback menjalankan ulang penerapan menggunakan artefak historis dan skrip penerapan. Ini setara dengan menjalankan penerapan baru dengan versi sebelumnya — bukan sekadar mengembalikan ke kondisi sebelumnya. Jika tidak tersedia artefak historis, rollback tidak dapat dilakukan.
Paket penerapan hanya disimpan selama 30 hari. Anda tidak dapat melakukan rollback penerapan yang lebih dari 30 hari.
Atasi kegagalan penerapan
Aplikasi tidak berjalan setelah penerapan berhasil
Jika pipeline menunjukkan penerapan berhasil tetapi aplikasi tidak berjalan di host, penyebab paling mungkin adalah tidak adanya perintah startup dalam skrip penerapan. Penerapan host hanya mentransfer artefak dan menjalankan skrip penerapan. Aplikasi tidak dijalankan secara otomatis. Pastikan skrip penerapan Anda mencakup perintah untuk mengekstrak artefak dan menjalankan proses aplikasi. Contohnya:
tar zxvf /home/admin/app/package.tgz -C /home/admin/application/
sh /home/admin/application/deploy.sh restartKelola traffic SLB selama penerapan
Untuk menghapus dan mengembalikan traffic Server Load Balancer (SLB) selama penerapan, tambahkan perintah manajemen traffic ke dalam skrip penerapan. Praktik terbaik:
Buat kelompok host yang berisi satu host saja.
Tambahkan langkah-langkah berikut secara berurutan dalam skrip penerapan: hapus host dari SLB, terapkan aplikasi, verifikasi penerapan, lalu kembalikan host ke SLB.
Menjalankan semua langkah pada kelompok host yang sama mencegah ketidakkonsistenan yang terjadi jika penghapusan dan pemulihan traffic menargetkan host yang berbeda.