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.
Bu makalede, Azure Dağıtım Ortamları (ADE) temel görüntülerini kullanarak özel görüntüler oluşturmak için kullanılabilen komutlar açıklanmaktadır.
ADE CLI'yı kullanarak ortamınız ve belirtilen ortam tanımı hakkındaki bilgilerle etkileşim kurabilir, ortamla ilgili daha önce karşıya yüklenmiş dosyaları karşıya yükleyebilir ve erişebilir, yürütme işlemleriyle ilgili daha fazla günlük kaydı kaydedebilir ve ortam dağıtımının çıkışlarına erişebilirsiniz.
Hangi komutları kullanabilirim?
ADE CLI şu anda aşağıdaki komutları destekler:
ADE CLI komutlarını çağırma hakkında ek bilgileri bağlantılı belgelerde bulabilirsiniz.
ade definitions komut kümesi
ade definitions komutu, kullanıcının üzerinde çalıştırılan ortam için seçilen tanımla ilgili bilgileri görmesine ve birincil ve bağlantılı Kod Olarak Altyapı (IaC) şablonları gibi ilgili dosyaları belirtilen dosya konumuna indirmesine olanak tanır.
Aşağıdaki komutlar bu komut kümesinin içindedir:
ade tanımları listesi
List komutu aşağıdaki gibi çağrılır:
definitionValue=$(ade definitions list)
Bu komut, ortam tanımının çeşitli özelliklerini açıklayan bir veri nesnesi döndürür.
Dönüş türü
Bu komut, ortam tanımını açıklayan bir JSON nesnesi döndürür. Örnek ortam tanımlarımızdan birini temel alan dönüş nesnesi örneği aşağıda verilmiştir:
{
"id": "/projects/PROJECT_NAME/catalogs/CATALOG_NAME/environmentDefinitions/appconfig",
"name": "AppConfig",
"catalogName": "CATALOG_NAME",
"description": "Deploys an App Config.",
"parameters": [
{
"id": "name",
"name": "name",
"description": "Name of the App Config",
"type": "string",
"readOnly": false,
"required": true,
"allowed": []
},
{
"id": "location",
"name": "location",
"description": "Location to deploy the environment resources",
"default": "westus3",
"type": "string",
"readOnly": false,
"required": false,
"allowed": []
}
],
"parametersSchema": "{\"type\":\"object\",\"properties\":{\"name\":{\"title\":\"name\",\"description\":\"Name of the App Config\"},\"location\":{\"title\":\"location\",\"description\":\"Location to deploy the environment resources\",\"default\":\"westus3\"}},\"required\":[\"name\"]}",
"templatePath": "CATALOG_NAME/AppConfig/appconfig.bicep",
"contentSourcePath": "CATALOG_NAME/AppConfig"
}
Döndürülen özellik değerlerini kullanma
Aşağıdaki biçimi kullanarak JQ kitaplığını (ADE tarafından yazılan görüntülere önceden yüklenmiş) kullanarak döndürülen tanım JSON nesnesinin belirli özelliklerine ortam değişkenleri atayabilirsiniz:
environment_name=$(echo $definitionValue | jq -r ".name")
JQ kitaplığı için gelişmiş filtreleme ve diğer kullanımlar hakkında daha fazla bilgiyi burada bulabilirsiniz.
ade tanımlarını indirme
Bu komut aşağıdaki gibi çağrılır:
ade definitions download --folder-path EnvironmentDefinition
Bu komut, ana ve bağlantılı Kod Olarak Altyapı (IaC) şablonlarını ve sağlanan şablonla ilişkili diğer dosyaları indirir.
Seçenekler
--folder-path: Ortam tanımı dosyalarının indirilme yolu. Belirtilmezse, komut dosyaları yürütme zamanında geçerli dizin düzeyinde EnvironmentDefinition adlı bir klasörde depolar.
Hangi dosyalara erişimim var?
Katalog deposunda ortam tanımı bildirim dosyasının (environment.yaml veya manifest.yaml) düzeyinde veya altında depolanan tüm dosyalara bu komut çağrılırken erişilebilir.
Ortam tanımlarını ve katalog depo yapısını hazırlama hakkında daha fazla bilgi edinmek için aşağıdaki bağlantıları kullanabilirsiniz:
- ADE'de Katalog Ekleme ve Yapılandırma
- ADE'de Ortam Tanımı Ekleme ve Yapılandırma
- Katalog Tasarlamaya Yönelik En İyi Yöntemler
Ayrıca, dosyalarınız adresinde /ade/repository/{YOUR_CATALOG_NAME}/{RELATIVE_DIRECTORY_TO_MANIFEST}kapsayıcı içinde de kullanılabilir olacaktır. Örneğin, Katalog1 adlı kataloğunuz olarak bağladığınız depoda bildirim dosyanız Folder1/Folder2/environment.yaml konumunda depolanıyorsa dosyalarınız konumundaki /ade/repository/Catalog1/Folder1/Folder2kapsayıcıda bulunur. Dağıtımınızı veya silme işleminizi başarıyla yürütmek gerektiğinden, ADE bu dosyaları bu dosya konumuna otomatik olarak ekler.
ade environment komutu
ade environment komutu, kullanıcının işlemin gerçekleştirildiği ortamla ilgili bilgileri görmesini sağlar.
Komut aşağıdaki gibi çağrılır:
environmentValue=$(ade environment)
Bu komut, ortamın çeşitli özelliklerini açıklayan bir veri nesnesi döndürür.
Dönüş türü
Bu komut, ortamı açıklayan bir JSON nesnesi döndürür. Dönüş nesnesinin bir örneği aşağıda verilmiştir:
{
"uri": "https://TENANT_ID-DEVCENTER_NAME.DEVCENTER_REGION.devcenter.azure.com/projects/PROJECT_NAME/users/USER_ID/environments/ENVIRONMENT_NAME",
"name": "ENVIRONMENT_NAME",
"environmentType": "ENVIRONMENT_TYPE",
"user": "USER_ID",
"provisioningState": "PROVISIONING_STATE",
"resourceGroupId": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP_NAME",
"catalogName": "CATALOG_NAME",
"environmentDefinitionName": "ENVIRONMENT_DEFINITION_NAME",
"parameters": {
"location": "locationInput",
"name": "nameInput"
},
"location": "regionForDeployment"
}
Döndürülen özellik değerlerini kullanma
Aşağıdaki biçimi kullanarak JQ kitaplığını (ADE tarafından yazılan görüntülere önceden yüklenmiş) kullanarak döndürülen tanım JSON nesnesinin belirli özelliklerine ortam değişkenleri atayabilirsiniz:
environment_name=$(echo $environment | jq -r ".name")
JQ kitaplığı için gelişmiş filtreleme ve diğer kullanımlar hakkında daha fazla bilgiyi burada bulabilirsiniz.
ade execute komutu
ade execute komutu, kapsayıcı içinde yürütülen betikler için örtük günlük kaydı sağlamak için kullanılır. Bu şekilde, komut sırasında üretilen tüm standart çıkışlar veya standart hata içeriği, ortamın işlemin günlük dosyasına kaydedilir ve Azure CLI kullanılarak erişilebilir.
Ortam hata ayrıntılarının geliştirici portalında kolayca doldurulması ve ortaya çıkarılması için bu komuttan gelen tüm standart hataları $ADE_ERROR_LOG ortam değişkeninde belirtilen hata günlüğü dosyasına yöneltmelisiniz.
Seçenekler
--operation: komutuyla gerçekleştirilmekte olan işlemi belirten bir dize girişi. Bu bilgiler genellikle $ADE_OPERATION_NAME ortam değişkeni kullanılarak sağlanır.
--command: Yürütülecek ve günlüğe kaydedilecek komut.
Örnekler
Bu komut deploy.sh yürütür:
ade execute --operation $ADE_OPERATION_NAME --command "./deploy.sh" 2> >(tee -a $ADE_ERROR_LOG)
ade files komut kümesi
Komut ade files kümesi, müşterinin belirli bir ortamın daha sonra kapsayıcıda veya sonraki işlem yürütmelerinde kullanılabilmesi için yürütme işlemi kapsayıcısındaki dosyaları karşıya yüklemesine ve indirmesine olanak tanır. Bu komut kümesi, belirli Kod Olarak Altyapı (IaC) sağlayıcıları için oluşturulan durum dosyalarını karşıya yüklemek için de kullanılır.
Aşağıdaki komutlar bu komut kümesinin içindedir:
ade dosyaları listesi
Bu komut, ortam kapsayıcısı içindeyken indirilebilecek dosyaları listeler.
Dönüş türü
Bu komut, indirilebilir dosyaları dize dizisi olarak döndürür. İşte bir örnek:
[
"file1.txt",
"file2.sh",
"file3.zip"
]
ade dosyaları indirme
Bu komut, seçilen bir dosyayı yürütülen kapsayıcı içinde belirtilen bir dosya konumuna indirir.
Seçenekler
--file-name: İndirilmesi gereken dosyanın adı. Bu dosya adı, komutundan ade files list döndürülen kullanılabilir dosyalar listesinde bulunmalıdır. Bu seçenek gereklidir.
--folder-path: Dosyayı kapsayıcı içinde indirebileceğiniz klasör yolu. Bu yol gerekli değildir ve komut yürütülürken CLI varsayılan olarak dosyayı geçerli dizine indirir.
--unzip: Kullanılabilir dosyalar listesinden bir zip dosyası indirmek ve içeriğin belirtilen klasör konumuna sıkıştırmasını açmak istiyorsanız bu bayrağı ayarlayın.
Örnekler
Aşağıdaki komut geçerli dizine bir dosya indirir:
ade files download --file-name file1.txt
Aşağıdaki komut, bir dosyayı klasör1 adlı alt düzey bir klasöre indirir.
ade files download --file-name file1.txt --folder-path folder1
Son komut bir zip dosyası indirir ve dosya içeriğini geçerli dizine ayırır:
ade files download --file-name file3.zip --unzip
ade dosyaları karşıya yükleme
Bu komut, belirtilen tekil bir dosyayı veya klasör yolu olarak belirtilen bir zip klasörünü ortamın erişilmeye uygun dosyalar listesine yükler.
Seçenekler
--file-path: Karşıya yüklenecek geçerli dizinden dosyanın bulunduğu yol. Bu komutu yürütmek için bu seçenek veya --folder-path seçenek gereklidir.
--folder-path: Zip dosyası olarak karşıya yüklenecek geçerli dizinden klasörün bulunduğu yer yolu. Sonuçta elde edilen erişilebilir dosyaya en düşük klasör adı altında erişilebilir. Bu komutu yürütmek için bu seçenek veya --file-path seçenek gereklidir.
Tavsiye
Bu komut için ortam için var olan erişilebilir dosyayla aynı ada sahip bir dosya veya klasör belirtildiğinde, önceden kaydedilmiş dosyanın üzerine yazılır (yani, file1.txt mevcut erişilebilir bir dosyaysa, yürütülerek ade files --file-path file1.txt daha önce kaydedilen dosyanın üzerine yazılır).
Örnekler
Aşağıdaki komut geçerli dizinden file1.txtadlı bir dosyayı karşıya yükler:
ade files upload --file-path "file1.txt"
Bu dosyaya daha sonra çalıştırılarak erişilebilir:
ade files download --file-name "file1.txt"
Aşağıdaki komut, folder1 adlı geçerli dizinden bir düzey daha düşük bir klasörü folder1.zipadlı bir zip dosyası olarak karşıya yükler:
ade files upload --folder-path "folder1"
Son olarak, aşağıdaki komut folder1/folder2 konumundaki geçerli dizinden iki düzey daha düşük bir klasörü folder2.zipadlı bir zip dosyası olarak karşıya yükler:
ade files upload --folder-path "folder1/folder2"
ade init komutu
ade init komutu, gerekli ortam değişkenlerini ayarlayarak ve dağıtım için belirtilen ortam tanımını indirerek ADE kapsayıcısını başlatmak için kullanılır. Komutun kendisi kabuk komutlarını yazdırır ve daha sonra aşağıdaki komut kullanılarak çekirdek giriş noktası içinde değerlendirilir:
eval $(ade init)
Bu komutu yalnızca bir kez çalıştırmak gerekir. Özel görüntünüzü ADE tarafından yazılan görüntülerden herhangi birine dayandırıyorsanız bu komutu yeniden çalıştırmanız gerekmez.
ade günlük komut kümesi
ade log Komutlar, kapsayıcı içindeyken ortamda işlemin yürütülmesiyle ilgili ayrıntıları kaydetmek için kullanılır. Bu komut, analiz etmek üzere işlem tamamlandıktan sonra erişilebilen birçok farklı günlük düzeyi sunar ve müşteri farklı günlük senaryoları için oturum açmak üzere farklı dosyalar belirtebilir.
ADE, kapsayıcı içindeki standart çıkışa veya standart hata akışlarına çıkış olan tüm deyimleri günlüğe kaydeder. Bu özellik, ana işlem günlüklerinden ayrı olarak görüntülenebilen müşteri tarafından belirtilen dosyalara günlükleri yüklemek için kullanılabilir.
Seçenekler
--content: Günlüğe kaydedilecek bilgileri içeren dize girişi. Bu komut için bu seçenek gereklidir.
--type: İçeriğin kaydedilecek günlük düzeyi (ayrıntılı, günlük veya hata). Belirtilmezse, CLI içeriği günlük düzeyinde günlüğe kaydeder.
--file: İçeriğin günlüğe kaydedilecek dosyası. Belirtilmezse, CLI yürütme işleminin benzersiz İşlem Kimliği tarafından belirtilen bir .log dosyasında günlüğe kaydeder.
Örnekler
Bu komut, varsayılan günlük dosyasına bir dize kaydeder:
ade log --content "This is a log"
Bu komut, varsayılan günlük dosyasına bir hata kaydeder:
ade log --type error --content "This is an error."
Bu komut , belirtilenspecialLogFile.txtadlı dosyaya bir dize kaydeder:
ade log --content "This is a special log." --file "specialLogFile.txt"
ade operation-result komutu
komutu, ade operation-result bir işlem başarısız olursa çalıştırılmakta olan ortama hata ayrıntılarının eklenmesine izin verir ve devam eden işlemi güncelleştirir.
Komut aşağıdaki gibi çağrılır:
ade operation-result --code "ExitCode" --message "The operation failed!"
Seçenekler
--code: İşlemin başarısız olmasına neden olan çıkış kodunu ayrıntılandıran bir dize
--message: İşlem hatası için hata iletisinin ayrıntılarını içeren bir dize.
Önemli
İşlemin Başarısız durumda ayarlanması diğer CLI komutlarının başarıyla tamamlanmasına izin vermediğinden, bu işlem yalnızca kapsayıcıdan çıkmadan hemen önce kullanılmalıdır.
ade outputs komut kümesi
ade outputs komutu, müşterinin Kod Olarak Altyapı (IaC) şablonunun dağıtımından çıktıları ADE için Çıkışlar API'sinden erişmesini sağlar.
ade çıkışları karşıya yükleme
Bu komut, ADE OrtamıOutput biçiminde belirtilen JSON dosyasının içeriğini daha sonra ADE için Outputs API'sini kullanarak erişilecek ortama yükler.
Seçenekler
--file: Karşıya yüklenecek JSON nesnesini içeren bir dosya konumu.
Örnekler
Bu komut, başarılı dağıtımın çıkışları olarak görev yapmak üzereoutputs.jsonadlı bir .json dosyasını ortama yükler:
ade outputs upload --file outputs.json
EnvironmentOutputs Biçimi
Gelen JSON dosyasının düzgün bir şekilde seri hale getirilebilmesi ve ortam dağıtımı çıktıları olarak kabul edilmesi için, gönderilen nesnenin aşağıdaki yapıyı izlemesi gerekir:
{
"outputs": {
"output1": {
"type": "string",
"value": "This is output 1!",
"sensitive": false
},
"output2": {
"type": "int",
"value": 22,
"sensitive": false
},
"output3": {
"type": "string",
"value": "This is a sensitive output",
"sensitive": true
}
}
}
Bu biçim, ARM şablonu dağıtımlarının bir dağıtımın çıkışlarını raporlama şekline ve hassas özelliğine göre uyarlanmıştır. Hassas özellik isteğe bağlıdır, ancak çıkışı görüntülemeyi ortamı oluşturan gibi ayrıcalıklı erişimi olan kullanıcılarla kısıtlar.
Çıkışlar için kabul edilebilir türler "string", "int", "boole", "array" ve "object" şeklindedir.
Çıkışlara erişme
Müşteri, kapsayıcı içinde veya yürütme sonrasında çıkışlara erişmek için API uç noktasını çağırarak veya AZ CLI kullanarak erişilebilen ADE için Çıkışlar API'sini kullanabilir.
Kapsayıcı içindeki çıkışlara erişmek için müşterinin Azure CLI'yı görüntüsüne yüklemesi (ADE tarafından yazılan görüntülere önceden yüklenmiş) ve aşağıdaki komutları çalıştırması gerekir:
az login
az devcenter dev environment show-outputs --dev-center-name DEV_CENTER_NAME --project-name PROJECT_NAME --environment-name ENVIRONMENT_NAME