All Products
Search
Document Center

Alibaba Cloud DevOps:Pemicu sumber kode

Last Updated:Jun 19, 2026

Konfigurasikan pemicu sumber kode untuk pipeline Anda dan tentukan peristiwa pemicu serta kondisi penyaringan guna mengontrol kapan pipeline dijalankan secara otomatis.

Konfigurasi pemicu sumber kode

Setelah Anda mengaktifkan pemicu sumber kode dan mengonfigurasi webhook, Flow secara otomatis menjalankan pipeline ketika kode dikomit ke repositori dan branch yang ditentukan.

Alibaba Cloud DevOps Codeup

  1. Di Alibaba Cloud DevOps, buka pipeline Anda, klik Edit Pipeline, lalu klik Edit Code Source.

  2. Klik Enable Code Source Trigger. Flow secara otomatis menambahkan URL webhook ke repositori kode Alibaba Cloud DevOps Codeup yang sesuai.

Setelah mengaktifkan pemicu, pada bagian Triggering events, pilih jenis peristiwa yang diinginkan, seperti code commit, tag creation, merge request completed, dan merge request created/updated. Anda juga dapat mengaktifkan branch or tag filtering dan code path filtering. Setelah selesai, klik Add.

Setelah Anda mengaktifkan pemicu, Flow secara otomatis mendaftarkan webhook pada halaman pengaturan Webhooks repositori kode Alibaba Cloud DevOps Codeup Anda. Webhook tersebut mencakup push events, tag push events, dan merge request events.

Sumber kode lainnya

  1. Pada halaman edit pipeline, klik Edit Code Source. Aktifkan Code Source Trigger, lalu salin URL webhook.

    Pada bagian Triggering events, pilih code commit, lalu tambahkan URL webhook yang telah disalin ke pengaturan pemicu webhook repositori kode yang sesuai.

  2. Tambahkan URL webhook yang telah disalin ke pengaturan repositori kode yang sesuai. Alibaba Cloud DevOps mendukung pemicu sumber kode untuk repositori GitLab, GitHub, Gitee, dan General Git. Metode konfigurasi berbeda-beda tergantung jenis repositori.

    GitLab

    Buka repositori kode GitLab Anda dan navigasikan ke . Tempel URL webhook yang disalin dari pipeline ke bidang URL.

    Pada bagian Trigger, pilih Push events.

    GitHub

    Buka repositori kode GitHub Anda, navigasikan ke , lalu klik Add Webhook. Tempel URL webhook yang disalin dari pipeline Flow ke bidang Payload URL. Untuk Content Type, pilih application/json.

    Untuk pemicu, pertahankan opsi default: Just the push event..

    Gitee

    Buka repositori kode Gitee Anda dan navigasikan ke . Tempel URL webhook yang disalin dari pipeline Flow ke bidang URL.

    General Git

    Menggunakan GitLab sebagai contoh, buka repositori kode GitLab Anda dan navigasikan ke . Tempel URL webhook yang disalin dari pipeline ke bidang URL.

    SVN

    1. Pada halaman edit pipeline, aktifkan pemicu sumber kode dan salin URL webhook.

      Untuk peristiwa pemicu, pilih code commit. URL webhook adalah http://flow-openapi.aliyun.com/scm.

    2. Pada server SVN, navigasikan ke direktori hooks repositori Anda. Temukan templat skrip hook. Setiap templat sesuai dengan satu peristiwa. Untuk menggunakan templat, hapus akhiran .tmpl.

      14:32  post-commit.tmpl
      14:32  post-lock.tmpl
      14:32  post-revprop-change.tmpl
      14:32  post-unlock.tmpl
      14:32  pre-commit.tmpl
      14:32  pre-lock.tmpl
      14:32  pre-revprop-change.tmpl
      14:32  pre-unlock.tmpl
      14:32  start-commit.tmpl
    3. Ambil post-commit sebagai contoh. File post-commit adalah skrip shell. SVN menjalankan skrip ini setelah perubahan terdeteksi, seperti komit kode, pembuatan branch, atau pembuatan tag. Skrip contoh berikut menunjukkan cara memicu jalannya pipeline Flow saat terjadi komit kode:

      #!/bin/sh
      # Jalur repositori dan nomor revisi komit diteruskan ke skrip sebagai argumen.
      REPOS="$1"
      REV="$2"
      # Gunakan svnlook untuk menemukan direktori yang berubah dalam komit ini.
      CHANGED_DIRS=$(svnlook dirs-changed -r "$REV" "$REPOS")
      # Ambil jalur direktori yang pertama kali berubah, biasanya direktori tingkat atas.
      FIRST_CHANGED_PATH=$(echo "$CHANGED_DIRS" | head -n 1)
      # Asumsikan struktur branch mengikuti format standar (branches/nama-branch). Anda dapat mengurai nama branch dari output.
      BRANCH_NAME=$(echo "$FIRST_CHANGED_PATH" | sed 's#.*/$branches/.*/$$\1#')
      # Buat perintah curl untuk mengirim permintaan ke URL webhook yang disediakan oleh pipeline. 
      # Ganti URL webhook dengan yang berasal dari pipeline Anda, dan format data permintaan seperti pada contoh.
      curl --location --request POST 'http://flow-openapi.aliyun.com/scm/webhook/MwfQPTyf4nif2UdWBooR' \
      --header 'Content-Type: application/json' \
      --data-raw "{
        \"ref\": \"refs/heads/$BRANCH_NAME\",
        \"repository\": {
          \"clone_url\": \"svn://8.142.XX.XXXcom/svn/repos/demo\"
        }
      }"

Peristiwa pemicu

Gunakan Peristiwa pemicu untuk menyaring peristiwa webhook berdasarkan sumber kode. Tabel berikut mencantumkan peristiwa yang didukung untuk setiap jenis sumber kode.

Alibaba Cloud Code

Alibaba Cloud DevOps Codeup

General Git

GitHub

GitLab

Coding

Bitbucket

Self-managed GitLab

SVN

Code commit

Tag creation

Merge request created/updated

Merge request completed

Code commit: Dipicu saat Anda mendorong branch lokal ke branch remote atau mengedit file melalui antarmuka web platform kode Anda (misalnya, mendorong master lokal ke origin/master). Flow mencocokkan branch tujuan dengan kondisi filter dan, jika sesuai, memicu pipeline menggunakan branch tersebut.

Tag creation: Dipicu saat Anda mendorong tag lokal ke server atau membuat tag melalui antarmuka web platform kode Anda (misalnya, mendorong tag lokal release/0.0.1 ke server). Flow mencocokkan nama tag dengan kondisi filter dan, jika sesuai, memicu pipeline menggunakan tag tersebut sebagai versi kode.

Merge request created/updated: Dipicu saat Anda membuat atau memperbarui permintaan merge melalui antarmuka web platform kode Anda. Hanya Alibaba Cloud DevOps Codeup yang mendukung peristiwa ini. Misalnya, jika Anda membuat permintaan merge dari branch remote dev (sumber) ke master (tujuan), Flow mencocokkan branch tujuan dengan kondisi filter dan, jika sesuai, memicu pipeline menggunakan branch sumber.

Merge request completed: Mirip dengan peristiwa merge request created/updated, kecuali Flow menggunakan branch tujuan untuk menjalankan pipeline.

Kondisi penyaringan

Penyaringan branch atau tag

Kondisi filter mendukung ekspresi reguler. Masukkan branch tertentu seperti master atau dev, atau gunakan sintaks ekspresi reguler gaya Java. Contohnya:

  • Untuk mencocokkan beberapa branch, seperti master dan dev, masukkan master|dev.

  • Untuk mencocokkan branch yang diawali dengan feature, masukkan ^feature.*.

Penyaringan jalur kode

Penyaringan jalur kode memungkinkan Anda menyaring peristiwa pemicu berdasarkan jalur file yang dimodifikasi. Fitur ini hanya mendukung peristiwa Push dari sumber Alibaba Cloud DevOps Codeup. Flow hanya memicu pipeline ketika perubahan kode sesuai dengan aturan filter. Kondisi filter mendukung ekspresi reguler. Misalnya, auth-srv/.* hanya memicu pipeline saat kode dalam direktori auth-srv diperbarui.