All Products
Search
Document Center

Function Compute:Kelola pipeline

Last Updated:Mar 20, 2026

Serverless Application Center menyediakan eksekusi pipeline yang dapat dikustomisasi. Anda dapat mengonfigurasi pipeline dan mengatur alur tugas untuk menerbitkan kode ke Function Compute. Topik ini menjelaskan cara mengelola pipeline di Konsol, termasuk konfigurasi pipeline, pengaturan detail pipeline, dan riwayat eksekusi pipeline.

Informasi latar belakang

Saat membuat aplikasi, platform akan membuat lingkungan default. Untuk lingkungan tersebut, Anda dapat menentukan event Git yang memicu pipeline dan mengonfigurasi pipeline-nya. Anda dapat memilih antara konfigurasi otomatis dan konfigurasi kustom. Jika memilih konfigurasi otomatis, platform akan membuat pipeline menggunakan nilai default untuk setiap item konfigurasi. Jika memilih konfigurasi kustom, Anda dapat menentukan metode pemicu event Git untuk pipeline lingkungan tersebut dan memilih lingkungan eksekusi pipeline. Informasi seperti detail Git dan aplikasi diteruskan ke pipeline sebagai konteks eksekusi.

Saat mengedit konfigurasi pipeline, Anda juga dapat mengonfigurasi notifikasi DingTalk dan file YAML deskripsi resource, selain metode pemicu dan lingkungan eksekusi.

  • Konfigurasi pipeline saat membuat aplikasi atau lingkungan

    Saat membuat aplikasi atau lingkungan, Anda dapat menentukan metode pemicu Git dan lingkungan eksekusi pipeline.

    image.png

  • Edit pipeline di lingkungan

    Untuk lingkungan yang sudah ada, Anda dapat mengedit metode pemicu Git, lingkungan eksekusi, notifikasi DingTalk, dan file YAML deskripsi resource pada tab Pipeline management.

    image.png

Konfigurasi pipeline

Konfigurasi pipeline mencakup empat komponen utama: metode pemicu, lingkungan eksekusi, file YAML deskripsi resource, dan notifikasi robot DingTalk. Anda dapat mengonfigurasi metode pemicu dan lingkungan eksekusi saat membuat aplikasi atau lingkungan. Setelah pembuatan, Anda dapat mengonfigurasi keempat komponen tersebut dengan mengklik tombol Edit.

image.png

Metode pemicu pipeline

Application Center memungkinkan Anda menyesuaikan event Git yang memicu pipeline. Application Center menggunakan webhook untuk menerima event Git. Saat menerima event yang sesuai dengan aturan pemicu, platform akan membuat dan menjalankan pipeline berdasarkan file YAML pipeline yang telah Anda konfigurasi. Metode pemicu yang didukung adalah:

  • Pemicu branch: Lingkungan harus dikaitkan dengan branch tertentu. Mencocokkan semua event Push untuk branch yang ditentukan.

  • Pemicu tag: Mencocokkan semua event pembuatan Tag untuk ekspresi tag yang ditentukan.

  • Pemicu merge branch: Mencocokkan event Merge atau Pull Request dari branch sumber yang ditentukan ke branch target yang dikaitkan dengan lingkungan.

Lingkungan eksekusi pipeline

Pipeline Execution Environment memiliki dua mode: Default Environment dan Custom Environment.

Lingkungan eksekusi default

Dalam Default Environment, platform sepenuhnya mengelola resource pipeline. Alibaba Cloud Function Compute menanggung biaya eksekusi pipeline, sehingga Anda tidak dikenai biaya apa pun. Setiap tugas pipeline dijalankan dalam kontainer sandbox independen. Platform menjamin isolasi lingkungan eksekusi pipeline Anda. Lingkungan eksekusi default memiliki batasan berikut:

  • Spesifikasi resource instans: 4 vCPU, memori 8 GB.

  • Disk space sementara: 10 GB.

  • Timeout eksekusi tugas: 15 menit.

  • Batasan wilayah: Penerapan templat langsung dan sumber kode GitHub menggunakan wilayah Singapura di luar Tiongkok. Gitee, GitLab publik, dan Codeup menggunakan wilayah Tiongkok (Hangzhou).

  • Batasan jaringan: Alamat IP tetap dan Blok CIDR tidak didukung. Akses ke situs web tertentu menggunakan Daftar putih alamat IP tidak didukung. Akses ke resource dalam VPC Anda tidak didukung.

Lingkungan eksekusi khusus

Custom Environment menjalankan tugas pipeline di akun Anda dan menyediakan lebih banyak opsi kustomisasi. Berdasarkan otorisasi Anda, Application Center sepenuhnya mengelola tugas dalam lingkungan eksekusi khusus dan menjadwalkan instans Function Compute di akun Anda untuk menjalankan pipeline secara real time. Seperti lingkungan eksekusi default, lingkungan eksekusi khusus sepenuhnya serverless. Anda tidak perlu mengelola infrastruktur dasar.

Custom Environment menyediakan opsi kustomisasi berikut:

  • Wilayah dan jaringan: Anda dapat menentukan wilayah dan VPC untuk lingkungan eksekusi guna mendukung skenario seperti mengakses repositori kode jaringan pribadi, repositori artefak, repositori image, dan server Maven pribadi. Untuk informasi lebih lanjut tentang wilayah yang didukung, lihat Wilayah.

  • Spesifikasi resource instans: Anda dapat menentukan spesifikasi CPU dan memori untuk lingkungan eksekusi. Misalnya, tentukan instans yang lebih besar untuk mempercepat proses build.

    Catatan

    Rasio vCPU terhadap memori dalam GB harus berada di antara 1:1 hingga 1:4.

  • Persistensi penyimpanan: Anda dapat menentukan konfigurasi mount NAS dan OSS. Misalnya, mount sistem file NAS untuk caching file guna mempercepat proses build.

  • Log: Anda dapat menentukan proyek SLS dan Logstore untuk persistensi log eksekusi pipeline.

  • Timeout: Anda dapat menyesuaikan timeout eksekusi untuk tugas pipeline. Nilai default adalah 600 detik, dan maksimum adalah 86.400 detik.

Penting

Lingkungan eksekusi khusus menjalankan tugas pipeline di akun Function Compute Anda sendiri, sehingga dikenai biaya terkait. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.

YAML

Serverless Application Center terintegrasi erat dengan tool developer Serverless Devs. Anda dapat menggunakan file deskripsi resource Serverless Devs untuk mendeklarasikan konfigurasi resource aplikasi Anda. File deskripsi resource default bernama s.yaml, tetapi Anda dapat menentukan nama file lain. Setelah menentukan file deskripsi resource, Anda dapat menggunakannya dalam pipeline dengan dua cara:

  • Saat menggunakan plugin deployment @serverless-cd/s-deploy, plugin tersebut secara otomatis menggunakan file deskripsi resource yang ditentukan untuk deployment. Ini dilakukan dengan menambahkan perintah -t/--template ke instruksi operasi Serverless Devs. Dalam contoh berikut, file YAML deskripsi resource yang ditentukan adalah demo.yaml, sehingga perintah yang dijalankan oleh plugin adalah s deploy -t demo.yaml.

- name: deploy
  context:
    data:
      deployFile: demo.yaml
      steps:
      - plugin: '@serverless-cd/s-setup'
      - plugin: '@serverless-cd/checkout'
      - plugin: '@serverless-cd/s-deploy'
  taskTemplate: serverless-runner-task
  • Saat menggunakan skrip untuk eksekusi, Anda dapat mereferensikan nama file deskripsi resource tertentu dengan ${{ ctx.data.deployFile }}. Misalnya, kode contoh berikut menjalankan perintah `s plan` dengan file yang ditentukan jika file deskripsi resource disediakan. Jika tidak, perintah `s plan` dijalankan dengan file default `s.yaml`.

- name: pre-check
  context:
    data:
      steps:
      - run: s plan -t ${{ ctx.data.deployFile || s.yaml }}
      - run: echo "s plan finished."
  taskTemplate: serverless-runner-task

DingTalk Chatbot Notification Settings

Setelah mengaktifkan konfigurasi ini, konfigurasikan alamat Webhook, signature key, aturan notifikasi, dan pesan kustom robot DingTalk. Anda dapat mengelola secara terpusat tugas-tugas yang memerlukan notifikasi di sini, atau mengaktifkan notifikasi untuk setiap tugas secara terpisah melalui file YAML pipeline. Setelah menyelesaikan konfigurasi notifikasi secara keseluruhan di sini, Anda dapat memperhalus pengaturan notifikasi untuk setiap tugas di bagian Pipeline Details.

Variabel lingkungan pipeline

Di bagian Pipeline Environment Variables, klik Modify, pilih metode untuk mengonfigurasi lingkungan, selesaikan konfigurasi seperti dijelaskan di bawah, lalu klik Deploy.

  • Edit menggunakan formulir (default)

    1. Klik +Add Variable.

    2. Konfigurasikan pasangan kunci-nilai untuk variabel lingkungan:

      • Variable: Kustom.

      • Value: Kustom.

  • Edit menggunakan format JSON

    1. Klik Edit in JSON Format.

    2. Di kotak teks, masukkan pasangan kunci-nilai dalam format JSON sebagai berikut.

      {
          "key": "value"
      }

      Berikut adalah contohnya.

      {
          "REGION": "MY_REGION",
          "LOG_PROJECT": "MY_LOG_PROJECT"
      }

Variabel lingkungan tersebut berlaku dalam pipeline Serverless Devs. Anda dapat mereferensikannya di `s.yaml` menggunakan ${env(key)} atau dalam perintah shell menggunakan $Key. Berikut adalah contohnya.

vars:
  region: ${env(REGION)}
  service:
    name: demo-service-${env(prefix)}
    internetAccess: true
    logConfig:
      project: ${env(LOG_PROJECT)}
      logstore: fc-console-function-pre
    vpcConfig:
      securityGroupId: ${env(SG_ID)}
      vswitchIds:
        - ${env(VSWITCH_ID)}
      vpcId: ${env(VPC_ID)}

Detail pipeline

Di bagian Pipeline Details, Anda dapat mengonfigurasi alur pipeline dan menentukan pengaturan detail untuk tugas dan dependensinya dalam pipeline. Platform secara otomatis menghasilkan alur pipeline default, yang dapat Anda edit.

Pipeline dikelola menggunakan file YAML. Tersedia dua metode konfigurasi: Hosting on Platform dan Read from Repository .

Catatan
  • Metode Hosting on Platform tidak mendukung variabel YAML yang telah ditentukan sebelumnya. Untuk informasi lebih lanjut, lihat Gunakan file YAML untuk menggambarkan pipeline.

  • Hosting repositori mendukung variabel yang telah ditentukan sebelumnya dalam file YAML.

Hosting on Platform

Secara default, file YAML pipeline di-host oleh platform. Artinya, konfigurasi dikelola secara terpusat di platform dan berlaku pada deployment berikutnya setelah pembaruan.

Read from Repository

File deskripsi YAML pipeline disimpan di repositori Git remote. Setelah Anda mengedit dan menyimpannya di Konsol, platform akan melakukan commit perubahan ke repositori Git Anda secara real time. Commit ini tidak memicu eksekusi pipeline. Saat suatu event di repositori kode Anda memicu pipeline, platform menggunakan file YAML pipeline dari repositori Git yang Anda tentukan untuk membuat dan menjalankan pipeline.

Anda dapat memilih Read from Repository di atas bagian Pipeline Details dan memasukkan nama file YAML, seperti yang ditunjukkan pada gambar berikut.

image.png

Bagian utama dari bagian Pipeline Details terdiri dari area alat pendukung di sebelah kiri dan area pengeditan YAML di sebelah kanan:

  • Area pengeditan YAML: Anda dapat langsung mengedit file YAML pipeline untuk memodifikasi alur pipeline. Untuk informasi lebih lanjut, lihat Gunakan file YAML untuk menggambarkan pipeline.

  • Area alat pendukung: Menyediakan alat bantu untuk pengeditan YAML, termasuk:

    • Process Preview: Menyediakan pratinjau visual dan kemampuan pengeditan sederhana untuk alur pipeline.

    • Task Template: Menyediakan serangkaian templat YAML untuk tugas umum.

Di pojok kanan atas bagian tersebut terdapat tiga tombol: Save, Full screen mode, dan Reset:

  • Tombol Save menyimpan perubahan yang dilakukan pada file YAML di halaman dan menyinkronkannya ke file YAML pipeline.

  • Tombol Full screen mode memperluas area pengeditan utama menjadi layar penuh.

  • Tombol Reset membatalkan semua perubahan yang dilakukan sejak penyimpanan terakhir dan mengembalikannya ke kondisi awal.

Penting

Jika Anda memilih untuk mereset, semua perubahan setelah penyimpanan terakhir akan hilang. Gunakan opsi ini dengan hati-hati dan buat cadangan terlebih dahulu.

Pratinjau alur

Area Process Preview menyediakan pratinjau visual alur pipeline. Area ini mendukung pengeditan sederhana konten tugas dasar dan dependensinya, serta memungkinkan Anda membuat dan menambahkan tugas dari templat dengan cepat. Node bagan alur dibagi menjadi tiga jenis utama: node awal berupa sumber kode dan metode pemicu, node akhir, dan node tugas. Node-node tersebut dihubungkan oleh garis yang merepresentasikan dependensi. Saat mengarahkan kursor ke node tugas, tombol Create task dan Delete task muncul, memungkinkan Anda menambah atau menghapus tugas dengan mudah.

image.png

  • Node sumber kode dan metode pemicu (node awal)

    Node ini menampilkan informasi sumber kode pipeline saat ini dan Trigger Mode. Node ini hanya untuk tampilan dan tidak dapat diedit. Untuk memodifikasi metode pemicu pipeline, buka bagian Pipeline Configurations.

    Penting

    Untuk memodifikasi repositori kode, lakukan di halaman detail aplikasi. Untuk informasi lebih lanjut, lihat Kelola aplikasi. Memodifikasi repositori kode akan membuat semua pipeline tidak valid. Lakukan dengan hati-hati.

  • Node akhir

    Menandai akhir alur pipeline, tempat semua tugas dalam pipeline selesai. Node ini read-only dan tidak memiliki makna praktis.

  • Node tugas

    Menampilkan dan memelihara informasi dasar untuk tugas tertentu. Secara default, node tugas menampilkan nama tugas. Mengklik node tersebut membuka kotak pop-up tempat Anda dapat melihat dan mengedit informasi dasar seperti Task Name, Pre-task, dan apakah akan Start Task. Jika Anda memilih untuk tidak mengaktifkan tugas, tugas tersebut akan dilewati secara otomatis saat eksekusi dan tampak redup.

  • Dependensi

    Panah satu arah yang mencerminkan hubungan antar tugas. Jika panah mengarah dari Tugas A ke Tugas B, artinya A adalah tugas pendahulu untuk B, dan B bergantung pada A. Setiap tugas dapat bergantung pada beberapa tugas dan menjadi dependensi bagi beberapa tugas.

    Anda dapat mengubah dependensi dengan mengedit Pre-task dari tugas yang bergantung. Misalnya, untuk menghapus dependensi B terhadap A, klik node tugas B dan hapus A dari daftar tugas pendahulunya.

  • Create task

    Tombol ini direpresentasikan oleh ikon '+' dan muncul di atas, di bawah, serta di sebelah kanan node tugas. Mengklik tombol Create task di atas Tugas A membuat tugas pendahulu B, yang menjadi dependensi A. Mengklik tombol Create task di bawah Tugas A membuat tugas berikutnya C, yang bergantung pada A. Mengklik tombol Create task di sebelah kanan Tugas A membuat tugas saudara D, yang memiliki dependensi yang sama dengan A.

  • Delete task

    Tombol ini direpresentasikan oleh ikon '×' di pojok kanan atas node tugas dan digunakan untuk menghapus tugas yang dipilih. Platform akan meminta konfirmasi untuk mencegah penghapusan tidak disengaja.

image.png

Templat tugas

Task Template menyediakan serangkaian templat YAML untuk tugas pipeline umum, termasuk templat untuk empat jenis tugas: Code Check, Create, Deploy, dan Common. Templat ini juga menyediakan templat YAML untuk Advanced Settings dalam tugas dan untuk Task Plug-in.

Anda dapat memilih templat yang dibutuhkan dari daftar templat. Klik templat untuk melihat penjelasan detail dan konten YAML-nya, lalu salin dan tempel konten YAML tersebut ke posisi yang sesuai dalam file YAML pipeline Anda.

image.png

Alur pipeline default

Alur pipeline default mencakup tiga tugas yang dijalankan secara berurutan: Config Comparison, Manual Review, dan Build and Deploy. Tugas Manual review dinonaktifkan secara default dan harus diaktifkan secara manual.

  • Config Comparison

    Menentukan apakah file deskripsi resource yang terlibat dalam pipeline konsisten dengan konfigurasi online, membantu mendeteksi perubahan konfigurasi tak terduga lebih awal.

  • Manual Review

    Untuk memastikan rilis aplikasi yang aman dan stabil, Anda dapat mengaktifkan mekanisme tinjauan manual pada tahap ini. Saat pipeline mencapai titik ini, pipeline akan diblokir dan menunggu konfirmasi manual. Pipeline hanya dilanjutkan setelah tinjauan disetujui. Jika tidak, pipeline saat ini dihentikan. Tugas ini dinonaktifkan secara default dan harus diaktifkan secara manual.

  • Build and Deploy

    Membangun aplikasi dan menerapkannya ke cloud. Secara default, dilakukan deployment penuh.

image.png

Lihat riwayat eksekusi pipeline

Di halaman detail lingkungan yang ditentukan, pilih tab Pipeline Management. Di bagian Pipeline Execution History di bawahnya, Anda dapat melihat catatan eksekusi historis pipeline yang ditentukan.pipeline-history

Anda dapat mengklik versi eksekusi pipeline tertentu untuk melihat detailnya. Informasi ini memungkinkan Anda dengan cepat memeriksa log eksekusi dan status pipeline, sehingga memudahkan pemantauan progres atau pemecahan masalah.

Peningkatan runtime lingkungan build pipeline

Runtime yang saat ini didukung oleh lingkungan build pipeline default tercantum di bawah ini. Tool manajemen paket bawaan mencakup Maven, PIP, dan NPM. Saat ini, hanya sistem operasi Debian 10 yang didukung untuk lingkungan runtime.

Runtime

Versi yang didukung

Node.js

  • Node.js 12

  • Node.js 14: Versi default

  • Node.js 16

  • Node.js 18

  • Node.js 20

Java

  • Java 8: Versi default

  • Java 11

  • Java 17

Python

  • Python 2.7

  • Python 3.6

  • Python 3.7

  • Python 3.9: Versi default

  • Python 3.10

Golang

  • Go 1.18: Versi default

  • Go 1.19

  • Go 1.20

  • Go 1.21

PHP

  • PHP 7.2

.NET

  • .NET 3.1

Anda dapat mengatur versi runtime pipeline menggunakan plugin pipeline runtime-setup atau dengan memodifikasi variabel lingkungan dalam file deskripsi resource.

Plugin pipeline runtime-setup (direkomendasikan)

Di Konsol Function Compute, temukan aplikasi Anda. Pada tab Pipeline Management, di bagian Pipeline Details, pilih templat plugin tugas Set Runtime. Gunakan templat tugas untuk memperbarui file YAML pipeline di sebelah kanan. Prosedurnya adalah: Task Template (① pada gambar di bawah) → Task Plug-in (② pada gambar di bawah) → Configure Runtime (③ pada gambar di bawah) → Update YAML di sebelah kanan (④ pada gambar di bawah) → Save (⑤ pada gambar di bawah).

Catatan

Tempatkan plugin runtime-setup di awal untuk memastikan berlaku pada semua langkah berikutnya.

image.png

Untuk parameter detail plugin runtime-setup, lihat Gunakan plugin runtime-setup untuk menginisialisasi lingkungan runtime.

Variabel lingkungan file deskripsi resource

Anda juga dapat menggunakan Action hooks dalam file deskripsi resource untuk mengganti versi Node.js atau Python. Detailnya sebagai berikut.

  • Node.js

    • export PATH=/usr/local/versions/node/v12.22.12/bin:$PATH

    • export PATH=/usr/local/versions/node/v16.15.0/bin:$PATH

    • export PATH=/usr/local/versions/node/v14.19.2/bin:$PATH

    • export PATH=/usr/local/versions/node/v18.14.2/bin:$PATH

    Berikut adalah contohnya.

    services:
      upgrade_runtime:
        component: 'fc'
        actions:
          pre-deploy:
            - run: export PATH=/usr/local/versions/node/v18.14.2/bin:$PATH && npm run build
        props:
    ...
  • Python

    • export PATH=/usr/local/envs/py27/bin:$PATH

    • export PATH=/usr/local/envs/py36/bin:$PATH

    • export PATH=/usr/local/envs/py37/bin:$PATH

    • export PATH=/usr/local/envs/py39/bin:$PATH

    • export PATH=/usr/local/envs/py310/bin:$PATH

    Berikut adalah contohnya.

    services:
      upgrade_runtime:
        component: 'fc'
        actions:
          pre-deploy:
            - run: export PATH=/usr/local/envs/py310/bin:$PATH && pip3 install -r requirements.txt -t .
        props:
    ...