All Products
Search
Document Center

Function Compute:Kelola pipeline

Last Updated:Mar 19, 2026

Serverless Application Center menyediakan kemampuan 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 melihat riwayat eksekusi pipeline.

Informasi latar belakang

Saat membuat aplikasi, platform akan membuat lingkungan default untuknya. Untuk lingkungan tersebut, Anda dapat menentukan metode pemicu event Git untuk pipeline dan mengonfigurasi pipeline sesuai kebutuhan. 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 dan memilih lingkungan eksekusi pipeline. Informasi seperti detail Git dan aplikasi diteruskan ke pipeline sebagai konteks eksekusi.

Saat mengedit item konfigurasi pipeline, Anda dapat mengonfigurasi metode pemicu, lingkungan eksekusi, notifikasi DingTalk, serta YAML deskripsi resource.

  • 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 dalam suatu lingkungan

    Untuk lingkungan yang sudah ada, buka tab Pipeline Management untuk mengedit metode pemicu event Git, lingkungan eksekusi, notifikasi DingTalk, dan YAML deskripsi resource pipeline.

    image.png

Pipeline configuration

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

image.png

Pipeline trigger methods

Serverless Application Center memungkinkan Anda menyesuaikan event Git yang memicu pipeline. Platform ini menggunakan webhook untuk menerima event Git. Saat menerima event yang sesuai dengan aturan pemicu, sistem akan membuat dan menjalankan pipeline berdasarkan konfigurasi YAML pipeline Anda. Metode pemicu berikut didukung:

  • Branch trigger: Lingkungan harus dikaitkan dengan branch tertentu. Metode ini cocok dengan semua event Push pada branch yang ditentukan.

  • Tag trigger: Cocok dengan semua event pembuatan Tag yang sesuai dengan ekspresi Tag yang ditentukan.

  • Branch merge trigger: Cocok dengan event Merge/Pull Request dari branch sumber yang ditentukan ke branch target yang dikaitkan dengan lingkungan.

Pipeline execution environment

Pipeline execution environment tersedia dalam dua mode: default execution environment dan dedicated execution environment.

Default execution environment

Dalam default execution environment, platform sepenuhnya mengelola resource pipeline. Alibaba Cloud Function Compute menanggung biaya yang timbul selama eksekusi pipeline, sehingga Anda tidak dikenai biaya apa pun. Setiap tugas pipeline dijalankan dalam kontainer sandbox independen, dan platform menjamin keamanan serta isolasi lingkungan eksekusi pipeline Anda. Batasan pada default execution environment adalah sebagai berikut:

  • Spesifikasi instans: 4 vCPU, memori 8 GB.

  • Disk space sementara: 10 GB.

  • Timeout eksekusi tugas: 15 menit.

  • Batasan wilayah: Untuk penerapan langsung dari templat atau dari sumber GitHub, gunakan wilayah Singapura. Untuk sumber Gitee, GitLab publik, atau Codeup, gunakan wilayah Tiongkok (Hangzhou).

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

Dedicated execution environment

Dedicated execution environment menjalankan tugas pipeline di bawah akun Anda dan menyediakan lebih banyak opsi kustomisasi. Berdasarkan otorisasi Anda, Serverless Application Center sepenuhnya mengelola tugas dalam dedicated execution environment dan menjadwalkan instans Function Compute secara real time untuk menjalankan pipeline di bawah akun Anda. Seperti halnya default execution environment, dedicated execution environment sepenuhnya serverless, artinya Anda tidak perlu mengelola infrastruktur dasar.

Dedicated execution environment menyediakan opsi kustomisasi berikut:

  • Wilayah dan jaringan: Anda dapat menentukan wilayah dan VPC lingkungan eksekusi. Hal ini memungkinkan akses ke resource seperti repositori kode privat, repositori artefak, repositori gambar, dan server Maven privat. Untuk informasi lebih lanjut tentang wilayah yang didukung, lihat Service endpoints.

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

    Catatan

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

  • Persistensi penyimpanan: Anda dapat mengonfigurasi pengaturan mount NAS dan OSS. Misalnya, gunakan mount NAS untuk caching file guna mempercepat proses build.

  • Log: Anda dapat menentukan proyek SLS dan Logstore untuk mengaktifkan 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

Dedicated execution environment menjalankan tugas pipeline menggunakan Function Compute di akun Anda sendiri, yang akan dikenai biaya. Untuk informasi lebih lanjut, lihat Billing overview.

Resource description YAML

Serverless Application Center terintegrasi erat dengan tool developer Serverless Devs. Anda dapat menggunakan file deskripsi resource Serverless Devs untuk mendeklarasikan konfigurasi resource layanan Anda. Untuk informasi lebih lanjut tentang spesifikasi YAML, lihat Serverless Devs YAML specification. 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. Cara kerjanya adalah dengan menambahkan perintah -t/--template ke operasi Serverless Devs. Misalnya, dalam kode berikut, file YAML deskripsi resource yang ditentukan adalah demo.yaml. Perintah yang dieksekusi 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 berikut menjalankan perintah s plan menggunakan file yang ditentukan jika tersedia. Jika tidak, perintah s plan dijalankan menggunakan 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 robot notifications

Setelah mengaktifkan konfigurasi ini, Anda harus mengonfigurasi Webhook address, Signing key, aturan notifikasi, dan Custom message robot DingTalk. Anda dapat mengelola semua tugas yang memerlukan notifikasi di sini, atau mengaktifkan notifikasi untuk setiap tugas secara terpisah dalam YAML pipeline. Setelah menyelesaikan konfigurasi notifikasi secara keseluruhan di sini, Anda dapat memperhalus pengaturan notifikasi untuk setiap tugas di bagian Pipeline details.

Pipeline details

Di bagian Pipeline details, Anda dapat mengonfigurasi alur pipeline dan menentukan detail tugas beserta hubungannya. Platform secara otomatis menghasilkan alur pipeline default, yang dapat Anda edit.

Pipeline dikelola menggunakan YAML. Tersedia dua metode konfigurasi: Platform-hosted dan Read from repository:

Catatan
  • Platform-hosted: Variabel YAML yang telah ditentukan sebelumnya tidak didukung. Untuk informasi lebih lanjut, lihat Describe a pipeline using a YAML file.

  • Repository hosting mendukung variabel yang telah ditentukan sebelumnya dalam file YAML.

Platform-hosted

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

Read from repository

File deskripsi YAML pipeline disimpan dalam 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 akan membuat dan menjalankan pipeline menggunakan file YAML dari repositori Git yang Anda tentukan.

Di bagian atas Pipeline details, Anda dapat menentukan Read from repository dan memasukkan nama file YAML, seperti yang ditunjukkan pada gambar berikut.

image.png

Bagian utama Pipeline details terdiri dari area alat bantu di sebelah kiri dan area pengeditan YAML di sebelah kanan:

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

  • Area alat bantu: Menyediakan alat untuk membantu Anda mengedit YAML. Area ini mencakup:

    • Flow preview: Menyediakan pratinjau visual dan kemampuan pengeditan sederhana untuk alur pipeline.

    • Task templates: Menyediakan serangkaian templat YAML tugas yang umum digunakan.

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

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

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

  • Tombol Reset membatalkan semua perubahan yang dilakukan sejak YAML terakhir disimpan, mengembalikannya ke kondisi awal.

Penting

Jika Anda memilih untuk mereset, semua perubahan sejak penyimpanan terakhir akan hilang. Gunakan fitur ini dengan hati-hati dan pastikan Anda telah membuat backup.

Flow preview

Area Flow preview menyediakan pratinjau visual alur pipeline. Area ini juga mendukung pengeditan sederhana konten tugas dasar dan hubungan antartugas, serta memungkinkan Anda membuat dan menambahkan tugas dari templat dengan cepat. Bagan alir memiliki tiga jenis node utama: node sumber kode dan metode pemicu awal, node akhir, dan node tugas. Node-node tersebut dihubungkan oleh garis yang merepresentasikan dependencies. Saat mengarahkan kursor ke node tugas, tombol Create task dan Delete task akan muncul untuk memudahkan pengelolaan tugas.

image.png

  • Node sumber kode dan metode pemicu (Start node)

    Menampilkan informasi Code source dan Trigger method pipeline saat ini. Ini hanya untuk tampilan dan tidak dapat diedit. Untuk memodifikasi metode pemicu pipeline, buka bagian Pipeline configuration.

    Penting

    Untuk memodifikasi repositori kode, buka halaman detail aplikasi. Untuk informasi lebih lanjut, lihat Manage applications. Memodifikasi repositori kode akan membatalkan semua pipeline, jadi lakukan dengan hati-hati.

  • End node

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

  • Task node

    Menampilkan dan memelihara informasi dasar untuk tugas tertentu. Secara default, node tugas menampilkan nama tugas. Klik node tersebut untuk membuka pop-up tempat Anda dapat melihat dan mengedit informasi dasar seperti Task name, Preceding tasks, dan apakah akan Enable task. Jika Anda tidak mengaktifkan tugas, tugas tersebut akan dilewati secara otomatis selama eksekusi dan tampak redup.

  • Dependency

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

    Anda dapat mengubah dependensi dengan mengedit Preceding tasks dari tugas yang bergantung. Misalnya, untuk menghapus dependensi B terhadap A, klik node tugas B dan hapus A dari daftar preceding tasks-nya.

  • Create task

    Tombol ini diwakili oleh ikon "+" dan muncul di sisi atas, bawah, dan kanan node tugas. Klik tombol di atas Tugas A untuk membuat tugas pendahulu B, di mana A bergantung pada B. Klik tombol di bawah Tugas A untuk membuat tugas berikutnya C, di mana C bergantung pada A. Klik tombol di sebelah kanan Tugas A untuk membuat tugas saudara D, yang memiliki dependensi yang sama dengan A. Artinya, D memiliki preceding tasks yang sama dengan A, dan semua tugas yang bergantung pada A juga akan bergantung pada D.

  • Delete task

    Tombol ini diwakili 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

Task templates

Task templates menyediakan serangkaian templat YAML untuk tugas pipeline umum, termasuk templat untuk tugas Code check, Build, Deploy, dan General. Templat ini juga mencakup templat YAML untuk Advanced configuration dan Task plugins internal.

Anda dapat memilih templat dari daftar, mengkliknya untuk melihat deskripsi detail dan konten YAML-nya, lalu menyalin dan menempelkan konten YAML tersebut ke lokasi yang sesuai dalam YAML pipeline Anda.

image.png

Default pipeline flow

Alur pipeline default mencakup tiga tugas yang dijalankan secara berurutan: Online configuration comparison, Manual review, dan Build and deploy. Tugas manual review dinonaktifkan secara default dan harus diaktifkan secara manual.

  • Online configuration comparison

    Memeriksa apakah file deskripsi resource yang digunakan oleh pipeline konsisten dengan konfigurasi online. Hal ini membantu Anda mendeteksi perubahan konfigurasi tak terduga lebih awal.

  • Manual review

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

  • Build and deploy

    Membangun aplikasi dan menerapkannya ke cloud. Secara default, dilakukan penerapan 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 untuk pipeline yang ditentukan.pipeline-history

Anda dapat mengklik versi eksekusi pipeline tertentu untuk melihat detailnya. Informasi ini memungkinkan Anda dengan cepat memeriksa log dan status eksekusi, yang membantu memahami eksekusi pipeline atau memecahkan masalah.

Upgrade runtime lingkungan build pipeline

Tabel berikut mencantumkan runtime yang didukung oleh lingkungan build pipeline default. Tool manajemen paket bawaan mencakup Maven, PIP, dan NPM. Saat ini, hanya sistem operasi Debian 10 yang didukung sebagai lingkungan runtime.

Runtime

Versi yang didukung

Node.js

  • 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 pipeline runtime-setup plugin atau dengan memodifikasi variabel lingkungan dalam file deskripsi resource.

runtime-setup pipeline plugin (Direkomendasikan)

Di Konsol Function Compute, temukan aplikasi Anda. Pada tab Manajemen Pipeline, di bagian Detail Pipeline, pilih templat plugin tugas Runtime untuk memperbarui YAML pipeline di panel kanan. Prosedurnya adalah sebagai berikut: Templat Tugas (① dalam gambar) → Plugin Tugas (② dalam gambar) → Atur Runtime (③ dalam gambar) → Perbarui YAML di sebelah kanan (④ dalam gambar) → Simpan (⑤ dalam gambar).

Catatan

Tempatkan plugin runtime-setup di posisi pertama untuk memastikan efeknya berlaku pada semua langkah berikutnya.

image.png

Untuk informasi lebih lanjut tentang parameter plugin runtime-setup, lihat Initialize the runtime environment using the runtime-setup plugin.

Variabel lingkungan dalam 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/v14.19.2/bin:$PATH

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

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

    • export PATH=/usr/local/versions/node/v20.8.1/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:
    ...