azd şablonlar, Bicep veya Terraform'da yazılmış kavram kanıtı uygulama kodu, düzenleyici/IDE yapılandırmaları ve altyapı kodunu içeren şema depolarıdır. Bu şablonların, belirli uygulama gereksinimlerinize göre değiştirilmesi ve uyarlanması ve ardından Azure Geliştirici CLI (azd) kullanılarak uygulamanızı Azure'a almak için kullanılması amaçlanmıştır.
azure.yaml şeması, bu şablonlara dahil edilen Azure kaynaklarının uygulamalarını ve türlerini tanımlar ve açıklar.
Örnek
Aşağıda, şablonunuz azure.yaml için gerekli olan genel bir azd örnek verilmiştir.
name: yourApp
metadata:
template: yourApp@0.0.1-beta
services:
web:
project: ./src/web # path to your web project
dist: build # relative path to service deployment artifacts
language: js # one of the supported languages
host: appservice # one of the supported Azure services
azure.yaml
ile karşılaştırın:
name: todo-nodejs-mongo
metadata:
template: todo-nodejs-mongo@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: appservice
api:
project: ./src/api
language: js
host: appservice
Özellik açıklamaları
| Öğe Adı |
Gerekli |
Açıklama |
name |
Y |
(dize) Uygulamanın adı. |
resourceGroup |
N |
(dize) Azure kaynak grubunun adı. Belirtildiğinde, altyapı sağlama için kullanılan kaynak grubu adını geçersiz kılar. |
metadata |
N |
(nesne) Daha fazla ayrıntı için bkz. meta veri özellikleri. |
infra |
N |
(nesne) Azure altyapısı sağlama için ek yapılandırma sağlar. Daha fazla bilgi için bkz. özellikleri. |
services |
Y |
(nesne) Uygulamayı oluşturan hizmetlerin tanımı. Daha fazla bilgi için bkz. hizmet özellikleri. |
pipeline |
N |
(nesne) sürekli tümleştirme işlem hattının tanımı. Daha fazla bilgi için bkz. işlem hattı özellikleri. |
hooks |
N |
Komut düzeyi kancaları. Kancalar, betiğin ne zaman yürütülmesi gerektiğine bağlı olarak azd veya pre ön ekli post komut adlarıyla eşleşmelidir. Yollar belirtilirken, bunlar proje yoluna göre olmalıdır. Daha fazla ayrıntı için bkz. Komut ve olay kancalarını kullanarak Azure Geliştirici CLI iş akışlarınızı özelleştirme. |
requiredVersions |
N |
Bu proje için desteklenen azd sürümleri aralığı. sürümü azd bu aralığın dışındaysa, proje yüklenemez. İsteğe bağlı (yoksa tüm sürümlere izin verir). Örnek: >= 0.6.0-beta.3 |
| Öğe Adı |
Gerekli |
Açıklama |
Örnek |
template |
N |
(dize) Uygulamanın oluşturulduğu şablonun tanımlayıcısı. |
todo-nodejs-mongo@0.0.1-beta |
infra özellikleri
| Öğe Adı |
Gerekli |
Açıklama |
Örnek |
provider |
N |
(dize) Uygulamanın Azure kaynakları için altyapı sağlayıcısı. (Varsayılan: bicep). |
Terraform örneğine bakın.
bicep, terraform |
path |
N |
(dize) Belirtilen sağlayıcı için Azure sağlama şablonlarını içeren konumun göreli klasör yolu. (Varsayılan: infra). |
|
module |
N |
(dize) Azure sağlama şablonlarını içeren varsayılan modülün adı. (Varsayılan: ana). |
|
name: yourApp-terraform
metadata:
template: yourApp-terraform@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: appservice
api:
project: ./src/api
language: js
host: appservice
infra:
provider: terraform
services özellikleri
| Öğe Adı |
Gerekli |
Açıklama |
Örnek |
resourceName |
N |
(dize) Hizmeti uygulayan Azure kaynağının adı. Belirtilmezse, azd ve azd-env-name etiketlerine göre azd-service-name bir kaynak arar. Bulunamazsa, hizmet adı () ile birleştirilmiş, geçerli ortam adından derlenmiş bir kaynak adı<environment-name><resource-name> arar. |
prodapi |
project |
Y |
hizmet kaynak kodu dizinine giden yolu (dize). |
|
host |
Y |
(dize) Hizmet uygulaması için kullanılan Azure kaynağının türü. Atlanırsa App Service varsayılır. |
appservice, containerapp, function, staticwebapp, aks (yalnızca kubectl apply -faracılığıyla dağıtılabilir projeler için), springapp (etkinleştirildiğinde - alfa özellikleri hakkında daha fazla bilgi edinin ) |
language |
Y |
Hizmet uygulama dili (dize). |
dotnet, csharp, fsharp, , py, python, js, ts, java |
module |
Y |
(dize) Kök infra klasörüne göre hizmeti dağıtmak için kullanılan altyapı modülünün Yolu. Belirtilmezse, CLI modül adının hizmet adıyla aynı olduğunu varsayar. |
|
dist |
Y |
(dize) Hizmet dağıtım yapıtlarının göreli yolu. CLI, dağıtım yapıtını (.zip dosyası) oluşturmak için bu yol altındaki dosyaları kullanır. Atlanırsa, hizmet projesi dizini altındaki tüm dosyalar eklenir. |
build |
docker |
N |
Yalnızca hostcontainerappolduğunda geçerlidir. Ek özellikler içeremez. |
Özel Docker örneğine bakın.
path
(dize): Dockerfile yolu. Varsayılan: ./Dockerfile; context(dize): Docker derleme bağlamı. Belirtildiğinde, varsayılan bağlamı geçersiz kılar. Varsayılan: .; platform(dize): Platform hedefi. Varsayılan: amd64; remoteBuild(boole): Uzak ACR derlemelerini etkinleştirir. Varsayılan: false |
k8s |
N |
Azure Kubernetes Service (AKS) yapılandırma seçenekleri. |
Bkz. AKS örneği.
deploymentPath
(dize): İsteğe bağlı. Hizmet yolundan K8s dağıtım bildirimlerine göreli yol. Ayarlandığında, K8s dağıtım bildirimleri için varsayılan dağıtım yolu konumunu geçersiz kılar. Varsayılan: manifests; namespace(dize): İsteğe bağlı. Dağıtılan kaynakların K8s ad alanı. Belirtildiğinde, henüz mevcut değilse yeni bir K8s ad alanı oluşturulur. Varsayılan: Project name; deployment(nesne): bkz. dağıtım özellikleri; service(nesne): Bkz. hizmet özellikleri; ingress(nesne): giriş özelliklerine bakın. |
hooks |
N |
Hizmet düzeyi kancaları. Kancalar, betiğin ne zaman yürütülmesi gerektiğine bağlı olarak service veya pre ön ekli post olay adları ile eşleşmelidir. Yolları belirttiğinizde, bunların hizmet yoluna göre olması gerekir. |
Daha fazla ayrıntı için bkz. Komut ve olay kancalarını kullanarak Azure Geliştirici CLI iş akışlarınızı özelleştirme. |
apiVersion |
N |
Azure Container Apps (ACA) tarafından barındırılan hizmetleri dağıtırken açık bir api-version belirtin. Bu özellik, uyumsuz bir API sürümü kullanmaktan kaçınmanıza yardımcı olur ve JSON hazırlama sırasında özel yapılandırma verilerini sabit kodlanmış bir Azure SDK kitaplığı sürümüne kaybetmemek için dağıtımı daha gevşek bir şekilde birleştirir. |
apiVersion: 2024-02-02-preview |
Docker seçenekleri örneği
Aşağıdaki örnekte, kapsayıcı uygulaması için Docker seçeneklerini bildiririz.
name: yourApp-aca
metadata:
template: yourApp-aca@0.0.1-beta
services:
api:
project: ./src/api
language: js
host: containerapp
docker:
path: ./Dockerfile
context: ../
web:
project: ./src/web
language: js
host: containerapp
docker:
remoteBuild: true
AKS deployment özellikleri
| Öğe Adı |
Gerekli |
Açıklama |
Örnek |
name |
N |
(dize) İsteğe bağlı. Dağıtım sırasında kullanılacak K8s dağıtım kaynağının adı. K8s dağıtım dağıtımının tamamlanmasını sağlamak için dağıtım sırasında kullanılır. Ayarlanmadıysa, hizmet adını içeren aynı ad alanında bir dağıtım kaynağı arar. Varsayılan: Service name |
api |
AKS service özellikleri
| Öğe Adı |
Gerekli |
Açıklama |
Örnek |
name |
N |
(dize) İsteğe bağlı. Varsayılan hizmet uç noktası olarak kullanılacak K8s hizmet kaynağının adı. Varsayılan hizmet kaynağı için uç noktaları belirlerken kullanılır. Ayarlanmadıysa, hizmet adını içeren aynı ad alanında bir dağıtım kaynağı arar. (Varsayılan: Hizmet adı) |
api |
AKS ingress özellikleri
| Öğe Adı |
Gerekli |
Açıklama |
Örnek |
name |
N |
(dize) İsteğe bağlı. Varsayılan hizmet uç noktası olarak kullanılacak K8s giriş kaynağının adı. Varsayılan giriş kaynağı için uç noktaları belirlerken kullanılır. Ayarlanmadıysa, hizmet adını içeren aynı ad alanında bir dağıtım kaynağı arar. Varsayılan: Service name |
api |
relativePath |
N |
(dize) İsteğe bağlı. Giriş denetleyicinizin kökünden hizmetin göreli yolu. Ayarlandığında, giriş kaynak yolunuzun köküne ekler. |
|
Hizmet düzeyi kancalı AKS örneği
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: aks
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_WEB_BASE_URL ${SERVICE_WEB_ENDPOINT_URL}
api:
project: ./src/api
language: js
host: aks
k8s:
ingress:
relativePath: api
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_API_BASE_URL ${SERVICE_API_ENDPOINT_URL}
pipeline özellikleri
| Öğe Adı |
Gerekli |
Açıklama |
Örnek |
provider |
N |
(dize) sürekli tümleştirme için kullanılacak işlem hattı sağlayıcısı. (Varsayılan: github). |
github, azdo |
CI/CD işlem hattı örneği olarak Azure Pipelines (AzDo)
name: yourApp
services:
web:
project: src/web
dist: build
language: js
host: appservice
pipeline:
provider: azdo
workflows özellikleri
| Öğe Adı |
Tür |
Gerekli |
Açıklama |
| yukarı |
nesne |
Hayır |
Belirtildiğinde azd up iş akışı için varsayılan davranışı geçersiz kılar. |
up özellikleri
| Öğe Adı |
Tür |
Gerekli |
Açıklama |
| Adım -ları |
dizi |
Evet |
İş akışında yürütülecek adımlar. |
steps özellikleri
| Öğe Adı |
Tür |
Gerekli |
Açıklama |
| azd |
dizgi |
Evet |
Yürütülecek azd komutunun adı ve birleştirmeleri. |
Aşağıdaki azure.yaml dosyası, bir iş akışı kullanarak azd up adımdan sonraki azd package adımı taşımak için azd provision varsayılan davranışını değiştirir. Bu örnek, derleme veya paketleme işlemi sırasında kaynakların URL'lerini bilmeniz gereken senaryolarda kullanılabilir.
name: todo-nodejs-mongo
metadata:
template: todo-nodejs-mongo@0.0.1-beta
workflows:
up:
steps:
- azd: provision
- azd: package
- azd: deploy --all
Yardım isteme
Azure Geliştirici CLI'sı için hata oluşturma, yardım isteme veya yeni bir özellik önerme hakkında bilgi için lütfen sorun giderme ve destek sayfasını ziyaret edin.
Sonraki adımlar