Serverless Application Center'daki ortamlar, uygulama dağıtımlarını ayrı bölgeler, sanal özel bulutlar (VPC) ve kaynak yapılandırmaları arasında izole eder. Üretim hizmetleri için yüksek kullanılabilirlik veya düşük gecikme süresi elde etmek amacıyla hizmetleri yalıtılmış ortamlarda dağıtabilirsiniz. Her ortam; Simple Log Service (SLS), VPC ve File Storage NAS (NAS) gibi kaynakları bağımsız olarak kapsar, böylece geliştirme, test ve üretim iş yükleri birbirine karışmaz. Her ortamla farklı işlem hattı kuralları ilişkilendirilebilir. Örneğin, bir geliştirme dalına yapılan commit işlemi test ortamında sürekli entegrasyonu (CI) tetiklerken ana dala yapılan merge işlemi üretim ortamında sürüm oluşturur.
Başlamadan önce
Varsayılan olarak bir ortama herhangi bir etki alanı adı atanmaz. Farklı ortamlar için farklı etki alanı adları kullanmak üzere deponuzdaki
s.yamldosyasında customDomains alanını belirtin.Bir ortamda Alibaba Cloud kaynaklarını (SLS, VPC, NAS) barındırmak ilgili hizmet izinlerini gerektirir. Gerekli ilkeleri
AliyunFCServerlessDevsRolerolüne ekleyin.Bir hizmeti birden çok ortama dağıtabilirsiniz. Ortam tarafından sağlanan yapılandırmaları kullanıp kullanmayacağınıza siz karar verirsiniz.
Ortam oluşturun
Function Compute konsolu üzerinde oturum açın ve uygulama ayrıntıları sayfasını açın.
Create Environment seçeneğine tıklayın.

-
Aşağıdaki parametreleri yapılandırın:
Parametre Açıklama Environment Name Bu ortamı ayırt etmek için açıklayıcı bir ad. Bir ortam türü birden çok adlandırılmış ortam içerebilir. Environment Type Filtreleme kategorisi: test, staging veya production. Description Bölge ve rol adı gibi temel bilgiler. Burada belirtilen bölge, günlük kaydı, ağ ve depolama ayarları s.yamldosyasına göre önceliklidir. Örneğin,s.yamlChina (Hangzhou) bölgesini belirtirken ortam China (Beijing) olarak ayarlanırsa kaynaklar China (Beijing) bölgesine dağıtılır.Pipeline Configurations Her ortam varsayılan olarak bir işlem hattıyla eşlenir. İşlem hattı tetikleyicisini ve derleme adımlarını burada yapılandırın.
Dal-ortam eşlemesi
Önerilen iş akışı, bir dalı bir işlem hattına ve bir ortama eşler:
| Dal | Ortam | Tetikleyici |
|---|---|---|
dev |
Geliştirme | dev dalına commit yapılması |
test |
Test | test dalına commit yapılması |
main / master |
Üretim | main dalına merge yapılması |
Kodu geliştirme dallarından test dallarına ve ardından ana dala taşımak için pull request'leri (PR) veya merge request'leri (MR) kullanın.
Bazı senaryolarda birden çok uygulama farklı kullanıcılar için aynı kod tabanını paylaşır. Tek bir dal birden çok işlem hattını tetikleyerek tek bir commit işleminde birden çok ortamı güncelleyebilir.
Ortam ayrıntılarını görüntüleyin
Function Compute konsolu üzerinde oturum açın.
Sol gezinme bölmesinde Applications seçeneğine tıklayın.
Applications sayfasında uygulamanızı bulun ve ortamlarını listelemek için sol taraftaki genişletme simgesine tıklayın.
-
Environment Details sekmesini açmak için bir ortam adına tıklayın. Sekme aşağıdakileri gösterir. Ayrıca cloud tabanlı geliştirmeye ve işlem hattı yapılandırmasına erişim sağlar.
Temel bilgiler
Kaynak kodu yapılandırmaları
Deployment History
Kaynaklar
Ortamı geri alın
Geri alma işlemi yalnızca uygulamanın iş kodunu etkiler. Veritabanları gibi yukarı ve aşağı akış bağımlılıkları geri alınmaz. Örneğin, bir hata nedeniyle uygulamanız veritabanına bağlanamıyorsa yalnızca uygulama kodunu geri almak sorunu çözmez.
Geri alma işlemi, önceki bir dağıtımın anlık görüntüsünde yakalanan kodu ve kaynak yapılandırmalarını (örneğin s.yaml dosyasını) yeniden dağıtır.
Hedef ortam için Environment Details sekmesini açın.
Deployment History bölümünde geri yüklemek istediğiniz dağıtımın yanındaki Roll Back seçeneğine tıklayın.

Kaynakları yönetin
Serverless Application Center kaynak bağlama bilgilerini salt okunur modda görüntüler. Kaynakları yönetmek için kaynak yönetim sayfasında doğrudan ayar değiştirmek yerine kod deponuzdaki s.yaml dosyasını kullanın.
s.yaml dosyasında karşılık gelen bir güncelleme olmadan kaynak yönetim sayfasında yapılan değişiklikler sonraki işlem hattı dağıtımında üzerine yazılır. Örneğin, s.yaml dosyası işlev belleğini 1.024 MB olarak ayarlarken bir geliştirici bunu yönetim sayfasında 2.048 MB olarak değiştirirse sonraki işlem hattı dağıtımı belleği 1.024 MB değerine sıfırlar.
Cloud üzerinde geliştirin
Uygulama ayrıntıları sayfasında Cloud Development seçeneğine tıklayın.
Kod ortamını kurmak için Initialize Code Repository seçeneğine tıklayın.
Başlatma tamamlandıktan sonra kodu görüntülemek, düzenlemek ve hata ayıklamak için WebIDE'yi kullanın.
-
Değişiklikleri depoya aşağıdaki yöntemlerden birini kullanarak gönderin:
Yerleşik terminali veya Git eklentisini kullanın.
Tek adımda eklemek, commit yapmak ve push işlemi gerçekleştirmek için sol üst köşedeki Save Code to Repository seçeneğine tıklayın.

İşlem hatlarını yapılandırın
İşlem hattı yapılandırmasıyla ilgili ayrıntılar için bkz. İşlem hatlarını yönetin.
Ortam silin
Function Compute konsolu üzerinde oturum açın.
Sol gezinme bölmesinde Applications seçeneğine tıklayın.
Silinecek ortamı bulun ve Actions sütunundaki Delete seçeneğine tıklayın.
Onay iletişim kutusunda listelenen kaynakları gözden geçirin. Saklamak istediğiniz kaynakların yanındaki onay kutularının işaretini kaldırın.
Bir ortamı silmek ilişkili kaynaklarını da silebilir. Onaylamadan önce kaynak adlarını ve türlerini doğrulayın.

Hizmetleri ortamlar arasında izole edin
Serverless Application Center bir GitOps modelini takip eder. Git depoları uygulama durumu için tek doğruluk kaynağıdır ve dağıtımlar Serverless Devs YAML teknik özelliklerini takip eden bir YAML dosyası tarafından yönlendirilir.
Birçok kurumsal ortamda Ar-Ge ve BT Operasyonları rollerinin sorumlulukları farklıdır. BT Operasyonları ekipleri altyapıyı yönetir ve geliştiricilerin bu altyapıyı kullanmasına yetki verir. Ar-Ge ekipleri ise uygulama kodunu yönetir. Tüm altyapı bir Git deposunda tutulursa BT Operasyonları personelinin altyapıyı değiştirmek için kod göndermesi gerekir ki bu durum çoğu BT Operasyonları mühendisinin iş akışıyla çelişir. Aşağıdaki dağıtım yöntemleri bu ayrımı farklı ölçeklerde ele alır.
Yöntem 1: Ortam başına ayrı YAML dosyaları
Her ortam için özel bir YAML dosyası tutun ve her işlem hattını karşılık gelen dosyaya yönlendirin.

YAML dosyaları arasındaki çoğaltmayı azaltmak için Serverless Devs'te YAML miras almayı kullanın.
Yöntem 2: Paylaşılan YAML ile işlem hattı ortam değişkenleri
Tek bir YAML dosyası kullanın ve ${env(VAR_NAME)} sözdizimini kullanarak ortama özgü değerleri işlem hattı ortam değişkenleri aracılığıyla enjekte edin.
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ı ortam değişkenlerini ayarlama talimatları için İşlem hatlarını yönetin konusunun "Pipeline environment variables" bölümüne bakın.
Yöntem 3: Paylaşılan YAML ile ortam kaynak çıktıları
Tek bir YAML dosyası kullanın ve ${environment.outputs.XXX} sözdizimi aracılığıyla her ortama bağlı kaynaklara başvurun.
service:
logConfig:
project: ${environment.outputs.slsProject}
logstore: ${environment.outputs.slsLogStore}
vpcConfig:
vpcId: ${environment.outputs.vpcId}
securityGroupId: ${environment.outputs.securityGroupId}
vswitchIds:
- ${environment.outputs.vswitchId}
nasConfig:
userId: 10003
groupId: 10003
mountPoints:
- serverAddr: ${environment.outputs.nasMountTargetId}
nasDir: /fc-deploy-service
fcDir: /mnt/auto
Yöntem seçin
| Yöntem | En uygun olduğu durum | Avantajlar | Dezavantajlar |
|---|---|---|---|
| 1 -- Ayrı YAML dosyaları | Tüm üyelerin YAML dosyalarını doğrudan yönettiği küçük ekipler | En basit yaklaşım; her ortam tamamen kendi kendine yeterlidir | Ortamlar arasında YAML çoğaltması |
| 2 -- İşlem hattı ortam değişkenleri | Belirgin Ar-Ge ve BT Operasyonları rollerine sahip ve az sayıda ortamı olan ekipler | Sorumlulukların net ayrımı; BT Operasyonları değişkenleri yönetir, Ar-Ge kodu yönetir | Altyapı büyüdüğünde ölçeklendirilmesi zordur |
| 3 -- Ortam kaynak çıktıları | Dinamik ortamlara sahip modern sunucusuz iş akışları | Talep üzerine kaynak sağlamayı destekler; ortamlar CI sırasında otomatik olarak başlayıp sonlandırılabilir; üretim kaynağı izinleri talep üzerine Ar-Ge'ye verilebilir | Ortamların kaynak bağlamalarıyla önceden yapılandırılmasını gerektirir |