Serverless Application Center, özelleştirilebilir işlem hattı yürütme olanağı sunar. Kodu Function Compute'a yayınlamak için işlem hatlarını yapılandırabilir ve görev akışlarını düzenleyebilirsiniz. Bu konuda, işlem hattı yapılandırması, işlem hattı ayrıntı ayarları ve işlem hattı yürütme geçmişi dahil olmak üzere konsolda işlem hatlarının nasıl yönetileceği açıklanmaktadır.
Genel bilgiler
Bir uygulama oluşturduğunuzda platform varsayılan bir ortam oluşturur. Bu ortam için işlem hattını tetikleyen Git olayını belirtebilir ve işlem hattını yapılandırabilirsiniz. Otomatik veya özel yapılandırma seçeneklerinden birini seçebilirsiniz. Otomatik yapılandırmayı seçerseniz platform, her bir yapılandırma öğesi için varsayılan değerleri kullanarak bir işlem hattı oluşturur. Özel yapılandırmayı seçerseniz ortamın işlem hattı için Git olayı tetikleme yöntemini belirtebilir ve işlem hattı yürütme ortamını seçebilirsiniz. Git ve uygulama ayrıntıları gibi bilgiler yürütme bağlamı olarak işlem hattına aktarılır.
İşlem hattı yapılandırmalarını düzenlerken tetikleme yöntemi ve yürütme ortamına ek olarak DingTalk bildirimlerini ve kaynak tanımı YAML dosyasını da yapılandırabilirsiniz.
-
Uygulama veya ortam oluştururken işlem hattı yapılandırın
Bir uygulama veya ortam oluştururken işlem hattının Git tetikleme yöntemini ve yürütme ortamını belirtebilirsiniz.

-
Bir ortamdaki işlem hattını düzenleyin
Mevcut bir ortam için İşlem hattı yönetimi sekmesinde işlem hattının Git tetikleme yöntemini, yürütme ortamını, DingTalk bildirimlerini ve kaynak tanımı YAML dosyasını düzenleyebilirsiniz.

İşlem hattı yapılandırması
İşlem hattı yapılandırması; tetikleme yöntemi, yürütme ortamı, kaynak tanımı YAML'si ve DingTalk robotu bildirimi olmak üzere dört ana öğeden oluşur. Bir uygulama veya ortam oluştururken tetikleme yöntemini ve yürütme ortamını yapılandırabilirsiniz. Oluşturma işleminden sonra Düzenle düğmesine tıklayarak bu dört öğenin tümünü yapılandırabilirsiniz.

İşlem hattı tetikleme yöntemi
Application Center, işlem hatlarını tetikleyen Git olaylarını özelleştirmenize olanak tanır. Application Center, Git olaylarını almak için Webhook'ları kullanır. Tetikleme kurallarıyla eşleşen bir olay aldığında, yapılandırdığınız işlem hattı YAML dosyasına göre bir işlem hattı oluşturur ve çalıştırır. Desteklenen tetikleme yöntemleri şunlardır:
Dal tetikleyicisi: Ortam belirtilen bir dal ile ilişkilendirilmelidir. Belirtilen dal için tüm Push (Gönder) olaylarıyla eşleşir.
Etiket tetikleyicisi: Belirtilen etiket ifadesi için tüm Etiket oluşturma olaylarıyla eşleşir.
Dal birleştirme tetikleyicisi: Belirtilen kaynak daldan ortamla ilişkili hedef dala yönelik Merge (Birleştir) veya Pull Request (Çekme İsteği) olaylarıyla eşleşir.
İşlem hattı yürütme ortamı
Pipeline Execution Environment iki moda sahiptir: Default Environment ve Custom Environment.
Varsayılan yürütme ortamı
Default Environment modunda platform, işlem hattı kaynaklarını tamamen yönetir. İşlem hattı yürütme maliyetleri Alibaba Cloud Function Compute tarafından karşılandığından herhangi bir ücret ödemezsiniz. Her işlem hattı görevi bağımsız bir korumalı alana sahip konteyner içinde çalışır. Platform, işlem hattı yürütme ortamınızın yalıtımını sağlar. Varsayılan yürütme ortamının aşağıdaki sınırlamaları vardır:
Örnek kaynak teknik özellikleri: 4 vCPU, 8 GB bellek.
Geçici disk alanı: 10 GB.
Görev yürütme zaman aşımı: 15 dakika.
Bölge sınırlamaları: Doğrudan şablon dağıtımı ve GitHub kod kaynakları Çin dışındaki Singapur bölgesini kullanır. Gitee, genel GitLab ve Codeup ise Çin (Hangzhou) bölgesini kullanır.
Ağ sınırlamaları: Sabit IP adresleri ve CIDR blokları desteklenmez. Belirtilen web sitelerine IP adresi izin listesi kullanılarak erişim desteklenmez. VPC'niz içindeki kaynaklara erişim desteklenmez.
Özel yürütme ortamı
Custom Environment işlem hattı görevlerini hesabınızda çalıştırır ve daha fazla özelleştirme seçeneği sağlar. Yetkilendirmenize dayanarak Application Center, özel yürütme ortamındaki görevleri tamamen yönetir ve işlem hatlarını gerçek zamanlı olarak çalıştırmak için hesabınızdaki Function Compute örneklerini planlar. Varsayılan yürütme ortamı gibi özel yürütme ortamı da tamamen sunucusuzdur. Alt yapıyı yönetmeniz gerekmez.
Custom Environment aşağıdaki özelleştirme seçeneklerini sağlar:
Bölge ve ağ: Yürütme ortamı için bölgeyi ve VPC'yi belirtebilirsiniz. Bu sayede özel ağ kod depolarına, yapıt depolarına, görüntü depolarına ve özel Maven sunucularına erişim gibi senaryolar etkinleştirilebilir. Desteklenen bölgeler hakkında daha fazla bilgi için bkz. Bölgeler.
-
Örnek kaynak teknik özellikleri: Yürütme ortamı için CPU ve bellek teknik özelliklerini belirtebilirsiniz. Örneğin, derlemeleri hızlandırmak için daha büyük bir örnek belirtin.
NotvCPU'ların GB cinsinden belleğe oranı 1:1 ile 1:4 arasında olmalıdır.
Kalıcı depolama: NAS ve OSS bağlantı yapılandırmalarını belirtebilirsiniz. Örneğin, derlemeleri hızlandırmak için dosya önbelleğe alma amacıyla bir NAS dosya sistemi bağlayın.
Günlükler: İşlem hattı yürütme günlüklerinin kalıcılığı için bir SLS projesi ve Logstore belirtebilirsiniz.
Zaman aşımı: İşlem hattı görevleri için yürütme zaman aşımını özelleştirebilirsiniz. Varsayılan 600 saniyedir ve maksimum 86.400 saniyedir.
Özel yürütme ortamı, işlem hattı görevlerini kendi Function Compute hesabınızda çalıştırır ve bu ilgili ücretlere neden olur. Daha fazla bilgi için bkz. Faturalandırma genel bakışı.
YAML
Serverless Application Center, Serverless Devs geliştirici aracıyla derinlemesine entegre edilmiştir. Uygulamanızın kaynak yapılandırmasını bildirmek için Serverless Devs kaynak tanım dosyasını kullanabilirsiniz. Varsayılan kaynak tanım dosyasının adı s.yaml'dir ancak farklı bir dosya adı belirtebilirsiniz. Bir kaynak tanım dosyası belirttikten sonra bunu işlem hattında iki şekilde kullanabilirsiniz:
@serverless-cd/s-deploydağıtım eklentisini kullandığınızda eklenti, dağıtım için belirtilen kaynak tanım dosyasını otomatik olarak kullanır. Bu işlem, Serverless Devs işletim talimatına-t/--templatekomutunun eklenmesiyle gerçekleşir. Aşağıdaki örnekte belirtilen kaynak tanımı YAML dosyasıdemo.yamlolduğundan eklentinin yürüttüğü komuts deploy -t demo.yamlşeklindedir.
- 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
Yürütme için bir betik kullandığınızda belirli kaynak tanım dosyası adını
${{ ctx.data.deployFile }}ile referans alabilirsiniz. Örneğin, aşağıdaki örnek kod bir kaynak tanım dosyası sağlanmışsas plankomutunu belirtilen dosya ile çalıştırır. Aksi takdirdes plankomutunu varsayılans.yamldosyası ile çalıştırır.
- 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
Bu yapılandırmayı etkinleştirdikten sonra DingTalk robotunun Webhook adresi, imza anahtarı, bildirim kuralları ve özel mesajlar öğelerini yapılandırın. Bildirim gerektiren görevleri burada merkezi olarak yönetebilir veya bildirimleri her görev için ayrı ayrı işlem hattı YAML dosyası aracılığıyla etkinleştirebilirsiniz. Burada genel bildirim yapılandırmasını tamamladıktan sonra Pipeline Details bölümünde her bir görev için bildirim ayarlarını daha da ayrıntılı hale getirebilirsiniz.
İşlem hattı ortam değişkenleri
Pipeline Environment Variables bölümünde Modify seçeneğine tıklayın, ortamı yapılandırmak için bir yöntem seçin, aşağıda açıklandığı şekilde yapılandırmayı tamamlayın ve ardından Dağıt seçeneğine tıklayın.
-
Formu kullanarak düzenleme (varsayılan)
+Değişken Ekle seçeneğine tıklayın.
-
Ortam değişkeni için anahtar-değer çiftini yapılandırın:
Variable: Özel.
Value: Özel.
-
JSON formatını kullanarak düzenleme
JSON Formatında Düzenle seçeneğine tıklayın.
-
Metin kutusuna anahtar-değer çiftini aşağıdaki gibi JSON formatında girin.
{ "key": "value" }Aşağıda bir örnek verilmiştir.
{ "REGION": "MY_REGION", "LOG_PROJECT": "MY_LOG_PROJECT" }
Ortam değişkenleri Serverless Devs işlem hattında etkili olur. Bunları s.yaml içinde ${env(key)} kullanarak veya kabuk komutlarında $Key kullanarak referans alabilirsiniz. Aşağıda bir örnek verilmiştir.
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)}
İşlem hattı ayrıntıları
Pipeline Details bölümünde işlem hattı akışını yapılandırabilir ve işlem hattı içindeki görevler ile bunların bağımlılıkları için ayrıntılı ayarlar belirtebilirsiniz. Platform, düzenleyebileceğiniz varsayılan bir işlem hattı akışı otomatik olarak oluşturur.
İşlem hatları bir YAML dosyası kullanılarak yönetilir. İki yapılandırma yöntemi mevcuttur: Hosting on Platform ve Read from Repository .
Platformda barındırma yöntemi önceden tanımlanmış YAML değişkenlerini desteklemez. Daha fazla bilgi için bkz. İşlem hattını açıklamak için YAML dosyası kullanma.
Depo barındırma, YAML dosyalarında önceden tanımlanmış değişkenleri destekler.
Platformda barındırma
Varsayılan olarak işlem hattı YAML dosyası platform tarafından barındırılır. Bu, yapılandırmanın platformda merkezi olarak yönetildiği ve güncellemeden sonra sonraki dağıtımda etkili olduğu anlamına gelir.
Depodan okuma
İşlem hattının YAML tanım dosyası uzak bir Git deposunda saklanır. Konsolda düzenleyip kaydettikten sonra platform değişiklikleri gerçek zamanlı olarak Git deponuza gönderir. Bu gönderim bir işlem hattı yürütmesini tetiklemez. Kod deponuzdaki bir olay bir işlem hattını tetiklediğinde platform, belirttiğiniz Git deposundaki işlem hattı YAML dosyasını kullanarak işlem hattını oluşturur ve çalıştırır.
Aşağıdaki şekilde gösterildiği gibi Read from Repository seçeneğini Pipeline Details bölümünün üzerinde seçebilir ve YAML dosyasının adını girebilirsiniz.

Pipeline Details bölümünün ana kısmı soldaki destekleyici araçlar alanından ve sağdaki YAML düzenleme alanından oluşur:
YAML düzenleme alanı: İşlem hattı akışını değiştirmek için işlem hattı YAML dosyasını doğrudan düzenleyebilirsiniz. Daha fazla bilgi için bkz. İşlem hattını açıklamak için YAML dosyası kullanma.
-
Destekleyici araçlar alanı: YAML düzenlemeye yardımcı olan aşağıdaki araçları sağlar:
Process Preview: İşlem hattı akışı için görsel önizleme ve basit düzenleme yetenekleri sağlar.
Task Template: Yaygın görevler için bir dizi YAML şablonu sağlar.
Bölümün sağ üst köşesinde Kaydet, Tam ekran modu ve Sıfırla olmak üzere üç düğme bulunur:
Kaydet düğmesi, sayfadaki YAML dosyasında yapılan değişiklikleri kaydeder ve bunları işlem hattı YAML dosyasıyla senkronize eder.
Tam ekran modu düğmesi, ana düzenleme alanını tam ekrana genişletir.
Sıfırla düğmesi, son kaydetmeden bu yana yapılan tüm değişiklikleri iptal eder ve başlangıç durumuna geri döner.
Sıfırlamayı seçerseniz son kaydetmeden sonra yapılan tüm değişiklikler kaybolur. Bu seçeneği dikkatli kullanın ve yedekleme yapın.
Akış önizlemesi
Process Preview alanı, işlem hattı akışının görsel önizlemesini sağlar. Temel görev içeriği ve bağımlılıklarının basit düzenlemesini destekler ve şablonlardan görevleri hızlıca oluşturup eklemenize olanak tanır. Akış şeması düğümleri üç ana türe ayrılır: başlangıç kod kaynağı ve tetikleme yöntemi düğümü, bitiş düğümü ve görev düğümleri. Düğümler, bağımlılıkları temsil eden çizgilerle birbirine bağlanır. Bir görev düğümünün üzerine fareyi getirdiğinizde Görev oluştur ve Görev sil düğmeleri görünür; bu sayede görevleri kolayca ekleyebilir veya kaldırabilirsiniz.

-
Kod kaynağı ve tetikleme yöntemi düğümü (başlangıç düğümü)
Bu düğüm, mevcut işlem hattının kod kaynağı bilgilerini ve Trigger Mode bilgisini görüntüler. Yalnızca görüntüleme amaçlıdır ve düzenlenemez. İşlem hattı tetikleme yöntemini değiştirmek için Pipeline Configurations bölümüne gidin.
ÖnemliKod deposunu değiştirmek için uygulama ayrıntıları sayfasından işlemi gerçekleştirin. Daha fazla bilgi için bkz. Uygulamaları yönetme. Kod deposunun değiştirilmesi tüm işlem hatlarını geçersiz kılar. Dikkatli ilerleyin.
-
Bitiş düğümü
İşlem hattı akışının sonunu işaretler; burada işlem hattındaki tüm görevler tamamlanmıştır. Bu düğüm salt okunurdur ve pratik bir anlamı yoktur.
-
Görev düğümü
Belirtilen bir görev için temel bilgileri görüntüler ve sürdürür. Varsayılan olarak görev düğümü görev adını gösterir. Düğüme tıklamak, Task Name, Pre-task ve Start Task gibi temel bilgileri görüntüleyip düzenleyebileceğiniz bir açılır kutu açar. Bir görevi etkinleştirmemeyi seçerseniz yürütme sırasında otomatik olarak atlanır ve gri renkte görünür.
-
Bağımlılık
Görevler arasındaki ilişkiyi yansıtan tek yönlü bir oktur. Bir ok A Görevinden B Görevine işaret ediyorsa bu, A'nın B için önceki bir görev olduğu ve B'nin A'ya bağımlı olduğu anlamına gelir. Her görev birden çok göreve bağımlı olabilir ve birden çok görev için bağımlılık kaynağı olabilir.
Bağımlı görevin Pre-task öğesini düzenleyerek bağımlılıkları değiştirebilirsiniz. Örneğin, B'nin A'ya olan bağımlılığını kaldırmak için B'nin görev düğümüne tıklayın ve önceki görevlerinden A'yı kaldırın.
-
Görev oluştur
Bu düğme '+' simgesiyle temsil edilir ve bir görev düğümünün üstünde, altında ve sağında görünür. A Görevinin üstündeki Görev oluştur düğmesine tıklamak, A'nın bağımlı olduğu önceki bir B görevi oluşturur. A Görevinin altındaki Görev oluştur düğmesine tıklamak, A'ya bağımlı sonraki bir C görevi oluşturur. A Görevinin sağındaki Görev oluştur düğmesine tıklamak, A ile aynı bağımlılıklara sahip kardeş bir D görevi oluşturur.
-
Görev sil
Bu düğme, görev düğümünün sağ üst köşesindeki '×' simgesiyle temsil edilir ve seçilen görevi silmek için kullanılır. Platform, yanlışlıkla silmeyi önlemek için onay ister.

Görev şablonları
Task Template yaygın işlem hattı görevleri için bir dizi YAML şablonu sağlar. Bu şablonlar Code Check, Create, Deploy ve Common olmak üzere dört tür görev için şablonlar içerir. Ayrıca görevler içindeki Advanced Settings ve Task Plug-in için YAML şablonları sunar.
Şablon listesinden ihtiyacınız olan şablonu seçebilirsiniz. Bir şablona tıklayarak ayrıntılı tanıtımını ve YAML içeriğini görüntüleyebilir, ardından YAML içeriğini kopyalayıp işlem hattı YAML dosyanızdaki ilgili konuma yapıştırabilirsiniz.

Varsayılan işlem hattı akışı
Varsayılan işlem hattı akışı sırayla çalışan üç görev içerir: Config Comparison, Manual Review ve Build and Deploy. Manuel inceleme görevi varsayılan olarak devre dışıdır ve manuel olarak etkinleştirilmesi gerekir.
-
Config Comparison
İşlem hattına dahil edilen kaynak tanım dosyasının çevrimiçi yapılandırmayla tutarlı olup olmadığını belirleyerek beklenmeyen yapılandırma değişikliklerini önceden tespit etmeye yardımcı olur.
-
Manual Review
Uygulamanızın güvenli ve kararlı bir şekilde yayınlanmasını sağlamak için bu aşamada manuel inceleme mekanizmasını etkinleştirebilirsiniz. İşlem hattı bu noktaya ulaştığında engellenir ve manuel onay bekler. İnceleme onaylandıktan sonra işlem hattı devam eder. Aksi takdirde mevcut işlem hattı durdurulur. Bu görev varsayılan olarak devre dışıdır ve manuel olarak etkinleştirilmesi gerekir.
-
Build and Deploy
Uygulamayı derler ve cloud'a dağıtır. Varsayılan olarak tam bir dağıtım gerçekleştirilir.

İşlem hattı yürütme geçmişini görüntüleyin
Belirtilen ortamın ayrıntılar sayfasında Pipeline Management sekmesini seçin. Aşağıdaki Pipeline Execution History bölümünde belirtilen işlem hattının geçmiş yürütme kayıtlarını görüntüleyebilirsiniz.
Ayrıntılarını görüntülemek için belirli bir işlem hattı yürütme sürümüne tıklayabilirsiniz. Bu bilgiler, işlem hattının yürütme günlüklerini ve durumunu hızlıca kontrol etmenize olanak tanıyarak ilerlemeyi izlemenizi veya sorunları gidermenizi kolaylaştırır.
İşlem hattı derleme ortamı çalışma zamanını yükseltin
Varsayılan işlem hattı derleme ortamının şu anda desteklediği çalışma zamanları aşağıda listelenmiştir. Yerleşik paket yönetimi araçları Maven, PIP ve NPM'dir. Çalışma zamanı ortamı için şu anda yalnızca Debian 10 işletim sistemi desteklenmektedir.
Çalışma Zamanı | Desteklenen sürümler |
Node.js |
|
Java |
|
Python |
|
Golang |
|
PHP |
|
.NET |
|
İşlem hattı çalışma zamanı sürümünü runtime-setup işlem hattı eklentisi kullanarak veya kaynak tanım dosyasındaki ortam değişkenlerini değiştirerek ayarlayabilirsiniz.
runtime-setup işlem hattı eklentisi (önerilen)
Function Compute konsolu nda uygulamanızı bulun. Pipeline Management sekmesinde, Pipeline Details bölümünde Çalışma Zamanını Ayarla görev eklenti şablonunu seçin. İşlem hattı YAML dosyasını sağ tarafta güncellemek için görev şablonunu kullanın. Prosedür şöyledir: Task Template (aşağıdaki şekildeki ①) → Task Plug-in (aşağıdaki şekildeki ②) → Configure Runtime (aşağıdaki şekildeki ③) → Sağ taraftaki YAML'i güncelle (aşağıdaki şekildeki ④) → Save (aşağıdaki şekildeki ⑤).
Sonraki tüm adımlar için etkili olmasını sağlamak üzere runtime-setup eklentisini ilk sıraya yerleştirin.

Runtime-setup eklentisinin ayrıntılı parametreleri için bkz. Çalışma zamanı ortamını başlatmak için runtime-setup eklentisini kullanma.
Kaynak tanım dosyası ortam değişkenleri
Node.js veya Python sürümünü değiştirmek için kaynak tanım dosyasındaki Action hook'larını da kullanabilirsiniz. Ayrıntılar aşağıdadır.
-
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
Aşağıda bir örnek verilmiştir.
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
Aşağıda bir örnek verilmiştir.
services: upgrade_runtime: component: 'fc' actions: pre-deploy: - run: export PATH=/usr/local/envs/py310/bin:$PATH && pip3 install -r requirements.txt -t . props: ...