Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Geliştirici CLI (azd) şablonu, kuralları izleyen azd bir kod deposudur. Proje yapılandırmasını, kod olarak altyapıyı ve isteğe bağlı uygulama kaynağını birleştirerek yinelenebilir Azure ortamlar ve dağıtımlar oluşturabilirsiniz.
Şablonlar, aşağıdakileri içeren farklı proje türlerini destekleyebilir:
- Bir veya daha fazla dağıtılabilir hizmet içeren eksiksiz bir uygulama.
- Uygulama kodu olmayan yalnızca altyapı çözümü.
- Başka bir geliştiricinin başlatabileceği ve genişletebileceği yeniden kullanılabilir bir başlangıç noktası.
-
azdile kaynak sağlama ve dağıtım için hazırladığınız mevcut bir proje.
Bu makalede, bir şablonun yapısı ve azd komutlarının onun dosyalarını nasıl kullandığı açıklanmaktadır.
Neden şablon kullanmalısınız?
Şablon, bir projeyi Azure çalıştırmak için gereken kararları yakalar. Projeye bağlı olarak şunları tanımlayabilir:
- Azure kaynakları ve bunların yapılandırması.
- Dağıtılabilir uygulama hizmetleri ve paketleme yönergeleri.
- Uygulama hizmetleri ile Azure kaynakları arasındaki bağlantılar.
- Ortama özgü parametreler ve çıkışlar.
- Yerel geliştirme, sürekli entegrasyon ve sürekli teslimat yapılandırması.
Yapılandırma projede depolandığından ekipler kaynak denetimindeki değişiklikleri gözden geçirebilir ve tutarlı geliştirme, test ve üretim ortamları oluşturabilir.
azd şablonu nasıl kullanır?
Şablondaki dosyalar, azd iş akışının farklı aşamalarını destekler:
-
azd initprojeyi başlatır ve birazdortam oluşturur. Ayrıca GitHub Copilot kullanarak bir başlangıç şablonu oluşturabilir veya var olan bir şablonu kopyalayabilirsiniz. -
azd provisionaltyapı tanımlarını değerlendirir ve Azure kaynakları oluşturur veya güncelleştirir. -
azd package,azure.yaml'e göre dağıtılabilir uygulama hizmetlerini hazırlar. -
azd deployher hizmeti kendi Azure ana bilgisayarıyla ilişkilendirir ve uygulama paketini dağıtır. -
azd upsağlama, paketleme ve dağıtım aşamalarını birleşik bir iş akışı olarak çalıştırır.
Şablon dosyaları bu işlem boyunca normal kaynak dosyaları olarak kalır. Bunları projenin geri kalanıyla gözden geçirebilir, düzenleyebilir ve sürüme ekleyebilirsiniz.
Azure Geliştirici CLI şablon yapısını keşfetme
azd şablonlar, ek yapılandırma ve altyapı varlıklarına sahip standart kod depolarıdır. Çoğu şablon aşağıdaki yapıyı kullanır:
-
azure.yamlfile - Projeyi tanımlar ve dağıtılabilir kaynak dizinlerini Azure kaynaklara eşler. -
infrafolder - Azure kaynaklarını oluşturan Bicep veya Terraform kod olarak altyapı dosyalarını içerir. -
srcfolder - Yaygın olarak dağıtılabilir uygulama kaynak kodunu içerir. Yalnızca altyapı şablonları uygulama kaynağını atlayabilir ve uygulama şablonları diğer kaynak dizin adlarını kullanabilir. -
.azurefolder - tarafındanazdoluşturulan yerel ortamları ve değerleri içerir. Bu klasör yerel proje durumudur ve normalde yeniden kullanılabilir bir şablonun parçası olarak paylaşılmaz.
Örneğin, ortak azd bir şablon aşağıdaki klasör yapısıyla eşleşebilir:
contoso-project/
├── azure.yaml # azd project and service configuration
├── infra/
│ ├── main.bicep # Infrastructure entry point
│ └── main.parameters.json # Maps azd values to Bicep parameters
├── src/ # Optional application source
│ ├── api/
│ └── web/
├── .github/workflows/ # Optional GitHub Actions pipelines
└── .azure/ # Local environment state; don't distribute
azd şablonlar isteğe bağlı olarak aşağıdaki klasörlerden birini veya daha fazlasını içerir:
-
.githubfolder - GitHub Actions için CI/CD iş akışı dosyalarını tutar. -
.azdoklasör - CI/CD için Azure Pipelines kullanmaya karar verirseniz, bu klasördeki iş akışı yapılandırma dosyalarını tanımlayın. -
.devcontainerfolder - Proje için bir geliştirme kapsayıcısı ortamı tanımlar.
Aşağıdaki diyagramda birincil şablon varlıklarının birlikte nasıl çalıştığı gösterilmektedir:
flowchart LR
AZ[azure.yaml] -->|Defines services| SRC[Application source]
AZ -->|Selects provider and path| INFRA[Infrastructure as code]
INFRA -->|Provisions| RES[Azure resources]
INFRA -->|Exports values| ENV[azd environment]
ENV -->|Configures| SRC
AZ -->|Maps services to| RES
Gerekli ve isteğe bağlı varlıklar
Tam yapı projeye göre değişir, ancak çoğu şablon aşağıdaki varlıkları kullanır.
azure.yaml
Dosya azure.yaml , birincil proje yapılandırma dosyasıdır. Proje adını tanımlar ve dağıtılabilir hizmetleri, altyapı sağlayıcılarını, kancaları, iş akışlarını ve diğer azd davranışları tanımlayabilir.
Bir uygulama hizmeti azure.yaml için yaygın olarak şunları tanımlar:
- Uygulamanın kaynak yolu.
- Programlama dili veya paketleme stratejisi.
- Uygulamayı barındıran Azure hizmeti.
- Derleme, dağıtım, konteyner veya Kubernetes ayarları.
Yalnızca altyapı şablonları uygulama hizmetlerini atlayabilir. Yapılandırma modelinin tamamı için şemayaazure.yaml bakın.
Aşağıdaki örnek iki uygulama hizmetini tanımlar. Hizmet adları, kaynak yolları, diller ve barındırma hedefleri nelerin paketlenip nereye dağıtılacağına ilişkin bilgi azd sağlar:
name: store
services:
api:
project: ./src/api
language: js
host: containerapp
web:
project: ./src/web
language: js
host: staticwebapp
Kod olarak altyapı
Şablonların çoğu Bicep veya Terraform dosyaları içeren bir infra dizin içerir. Bu dosyalar projenin gerektirdiği Azure kaynaklarını, rol atamalarını, ağ, uygulama ayarlarını ve dağıtım çıkışlarını tanımlar.
Varsayılan Bicep sağlayıcısında, azd genellikle dağıtım giriş noktası olarak infra/main.bicep kullanır ve azd ortam değerlerini Bicep parametrelerine eşlemek için infra/main.parameters.json kullanır. Terraform şablonlarında genellikle infra/main.tf ve ilgili Terraform dosyaları kullanılır.
Örneğin, bir Bicep parametre dosyası, azd ile seçilen değerleri altyapı dağıtımına geçirebilir:
{
"parameters": {
"environmentName": { "value": "${AZURE_ENV_NAME}" },
"location": { "value": "${AZURE_LOCATION}" }
}
}
Bicep sağlama tamamlandığında, azd giriş noktasından gelen çıkışları ortam değerleri olarak depolar. Uygulama hizmetleri ve kancalar kaynak uç noktaları, adlar ve diğer çalışma zamanı yapılandırması için bu değerleri kullanabilir.
output API_ENDPOINT string = api.outputs.uri
Uygulama kaynağı
Uygulama kaynağı isteğe bağlıdır. Bir şablon dağıtılabilir hizmetler içerdiğinde azure.yaml içindeki her hizmet tanımı kaynak dizinine işaret eder. Şablon, altında srchizmetleri düzenleyebilir, deponun başka bir yerinde dizinleri kullanabilir veya bir hizmeti depo köküne işaret edebilir.
Klasör adının kendisi önemli değildir.
project içindeki azure.yaml değeri, her hizmetin nerede bulunacağı azd belirler.
Ortam ayarları
Dizin yerel .azure ortam durumunu ve tarafından azdoluşturulan değerleri içerir. Birden çok ortam için abonelik, konum, kaynak adı, uç nokta ve dağıtım çıkış değerleri içerebilir.
Bu dizini yeniden kullanılabilir bir şablon varlığı yerine yerel durum olarak değerlendirin. Gizli bilgiler veya ortama özgü değerler içeren ortam dosyalarını commit etmeyin.
Destekleyici varlıklar
Şablonlar şunları da içerebilir:
- GitHub Actions veya Azure Pipelines tanımları.
- Docker dosyaları ve kapsayıcı yapılandırmaları.
- Geliştirme konteyneri yapılandırması.
- Komut ve hizmet kancaları.
- Testler, betikler ve proje belgeleri.
Bu varlıklar isteğe bağlıdır ve yalnızca hedeflenen şablon deneyimini desteklediklerinde dahil edilmelidir.
Hizmet ve kaynak ilişkilendirmesi
Bir uygulama hizmetini dağıtmak için içindeki azd tanımını azure.yaml sağlanan bir Azure kaynağıyla ilişkilendirmesi gerekir. Varsayılan olarak, azd etiketi hizmet adıyla azd-service-name eşleşen bir kaynak bulur.
Örneğin, api adlı bir hizmet, azd-service-name: api ile etiketlenmiş bir kaynakla eşlenir. Bunun yerine hizmet özelliğini kullanarak resourceName dağıtım hedefini açıkça tanımlayabilirsiniz.
Aşağıdaki Bicep ifadesi bulma etiketini kaynağın mevcut etiketlerine ekler:
tags: union(tags, {
'azd-service-name': 'api'
})
Bir şablonu düzenlerken hizmet adlarını, kaynak bulma ayarlarını, altyapı çıkışlarını ve uygulama ortamı değişkenlerini hizalı tutun.
Şablon oluşturma veya uyarlama
Önerilen içerik oluşturma deneyimi, çalıştırıp azd init seçeneğini belirlemektir. Ayrılmış Copilot aracısı oturumu mevcut dosyaları analiz edebilir, yeni bir proje planlamaya yardımcı olabilir, şablon varlıkları oluşturabilir ve sonucu doğrulayabilir. Bu iş akışı ve diğer yazma yöntemleri için bkz. Yeni bir şablonla başlama.
Oluşturulan dosyalar Copilot bağlı değildir. Şablon dosyalarını doğrudan başlatma işleminden sonra inceleyebilir ve düzenleyebilirsiniz. Aynı dosyaları el ile veya başka bir yapay zeka kodlama aracısı ile de oluşturabilirsiniz.
Microsoft, kuruluşunuz veya geliştirici topluluğundan bir şablon zaten yararlı bir mimari sağlıyorsa, mevcut şablondan başlayın ve bunu projeniz için uyarlayın. Şablon galerilerindeki kullanılabilir şablonlara göz atın.
Şablon kullanım yönergeleri
Her şablon, şablona eşlik eden sözleşme kapsamında sahibi tarafından lisanslanır. Şablonu kullanmadan veya dağıtmadan önce hangi lisansın geçerli olduğunu belirleyin.
Microsoft Microsoft olmayan şablondan sorumlu değildir ve güvenlik, gizlilik, uyumluluk veya performans sorunları için bunları taramaz. Microsoft sağlanan şablonlar da dahil olmak üzere şablonlar, Microsoft destek programı veya hizmeti tarafından desteklenmez ve garanti edilmediği gibi sağlanır.
Sağlamadan önce tüm şablon dosyalarını gözden geçirin. Özellikle rol atamalarını, ağ açıklarını, kimlik doğrulama yöntemlerini, hizmet katmanlarını, kaynak konumlarını ve beklenen maliyetleri değerlendirin.