All Products
Search
Document Center

Alibaba Cloud DevOps:Menyebarkan artefak ke host

Last Updated:Aug 21, 2026

Sebarkan artefak dari pipeline Flow ke host publik,. Panduan ini mencakup koneksi host, pembuatan pekerjaan penerapan, konfigurasi, dan rollback.

Alur Kerja

  1. Hubungkan host baru: Buat kelompok host dan tambahkan host.

  2. Tambahkan pekerjaan penerapan host: Buat atau tambahkan pekerjaan penerapan ke pipeline.

  3. Konfigurasikan pekerjaan penerapan host: Atur parameter penerapan.

  4. Kelola pekerjaan penerapan: Lihat detail penerapan dan lakukan rollback penerapan.

Hubungkan host

  1. Pada halaman utama Flow, klik Global Settings > Host Group Management.

  2. 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

    Catatan

    Metode ini berlaku untuk semua jenis host, termasuk instance ECS Alibaba Cloud dan host non-Alibaba Cloud.

    1. Pada halaman Add New Host, pilih Manually Install Runner sebagai metode koneksi.

    2. 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 running 
    3. Setelah 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:

    1. Instal Runner pada host target menggunakan metode Manually Install Runner yang dijelaskan di atas.

    2. Saat membuat pipeline, pilih templat yang mendukung penerapan host, seperti templat Java · Test, Build, and Deploy to Alibaba Cloud ECS/Your Own Host.

    Catatan

    Langkah 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:

  1. Buat kelompok host terpisah untuk setiap lingkungan (misalnya, staging dan production).

  2. Tambahkan pekerjaan VM Deploy untuk setiap kelompok host dalam pipeline.

  3. 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.

  1. Pilih Download Artifacts During Deployment. Opsi ini dipilih secara default.

  2. Pilih Artifact Name.

  3. Pilih Host Group tujuan penerapan. Untuk membuat yang baru, klik New Host Group. Manajemen kelompok host.

    Penting

    Kelompok host mengelola sumber daya dan konfigurasi penerapan. Semua host dalam kelompok harus memiliki lingkungan runtime Java.

  4. 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 restart
    deploy.sh adalah skrip shell yang menjalankan paket JAR. Gantilah dengan skrip penerapan Anda sendiri di lingkungan produksi.
    Penting

    Selama 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.

  5. 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.

Catatan

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.sh

Terapkan 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:

  1. Pada tahap build, paketkan file sumber ke dalam artefak.

  2. 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.sh

Anda 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.yml ke dalam artefak build selama tahap build. File tersebut diunduh ke host bersama artefak selama penerapan.

  • Transfer file dalam skrip penerapan menggunakan scp, wget, atau git clone.

Contoh skrip penerapan:

cd /home/admin/app
tar zxvf package.tgz
docker-compose up -d

Terapkan 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.

Peringatan

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 restart

Kelola 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:

  1. Buat kelompok host yang berisi satu host saja.

  2. Tambahkan langkah-langkah berikut secara berurutan dalam skrip penerapan: hapus host dari SLB, terapkan aplikasi, verifikasi penerapan, lalu kembalikan host ke SLB.

  3. Menjalankan semua langkah pada kelompok host yang sama mencegah ketidakkonsistenan yang terjadi jika penghapusan dan pemulihan traffic menargetkan host yang berbeda.