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.
Yapıtlar, Azure DevTest Labs VM'lerine ekleyebileceğiniz araçlar, eylemler veya yazılımlardır. Örneğin, artifaktlar betikleri çalıştırabilir, araçları yükleyebilir veya bir etki alanına katılmak gibi eylemler gerçekleştirebilir. DevTest Labs kullanıcıları vm'lerine yapıt ekleyebilir ve laboratuvar yöneticileri tüm laboratuvar VM'lerine eklenecek zorunlu yapıtları belirtebilir.
Bu makalede laboratuvar VM'lerini sağlayan yapıtların nasıl oluşturulacağı açıklanır. Yapıt, git deposu klasöründe depolanan bir yapıt tanımı JSON dosyasından ve diğer betik dosyalarından oluşur. Yapıtları özel veya genel git deposunda depolayabilirsiniz. Laboratuvar yöneticileri, tüm laboratuvar kullanıcılarının bunlara erişebilmesi için laboratuvarlara yapıt depoları ekleyebilir .
Önkoşullar
- Yapıt tanımı dosyaları oluşturmak ve bunlarla çalışmak için bir JSON düzenleyicisine ihtiyacınız vardır. Visual Studio Code , Windows, Linux ve macOS için kullanılabilir.
- Yapıt tanımını ve betik dosyalarını depolamak için bir GitHub hesabına ihtiyacınız vardır.
Yapıt tanım dosyalarını anlama
Yapıt tanım dosyası, vm üzerinde gerçekleştirecek eylemi belirten bir JSON ifadeden oluşur. Dosya bir yapıt adı, çalıştırılacak bir komut ve komut için kullanılabilen parametreleri tanımlar. Yapıt başka betik dosyaları içeriyorsa, yapıt tanımı dosyasında dosyalara ada göre başvurabilirsiniz.
Aşağıdaki örnekte birartifactfile.json yapıt tanım dosyasının temel yapısı gösterilmektedir.
{
"$schema": "https://raw.githubusercontent.com/Azure/azure-devtestlab/master/schemas/2016-11-28/dtlArtifacts.json",
"title": "<title>",
"description": "<description>",
"iconUri": "",
"targetOsType": "<os>",
"parameters": {
"<paramName>": {
"type": "<type>",
"displayName": "<display name>",
"description": "<description>"
}
},
"runCommand": {
"commandToExecute": "<command>"
}
}
Tanım aşağıdaki gerekli ve isteğe bağlı öğelere sahiptir:
| Öğe adı | Description |
|---|---|
$schema |
Tanım dosyasının geçerliliğini test etmenize yardımcı olabilecek JSON şema dosyasının konumu. |
title |
Görünmesi gereken gereken artefakt adı. |
description |
Gerekli artefakt tanımı. |
iconUri |
Görüntülenecek yapıt simgesi URI'sini seçin. |
targetOsType |
Kurulum için gerekli işletim sistemi. Desteklenen değerler Windows veya Linux. |
parameters |
Yükleme sırasında kullanılabilir arifakt özelleştirme seçenekleri. |
runCommand |
Artefaktı VM'ye yüklemek için gereken komut. |
Yapıt parametreleri
parameters Tanım dosyasının bölümü, kullanıcıların yapıtı ne zaman yüklediklerini belirtebilecekleri seçenekleri ve değerleri tanımlar. Bu parametrelere runCommand içinde başvurabilirsiniz.
Aşağıdaki yapı bir parametre tanımlar:
"parameters": {
"<name>": {
"type": "<type>",
"displayName": "<display name>",
"description": "<description>"
}
}
Her parametre bir ad gerektirir ve parametre tanımı aşağıdaki öğeleri gerektirir:
| Öğe adı | Description |
|---|---|
type |
Gerekli parametre değer türü. Türü geçerli herhangi bir JSON string, tamsayı int, boole boolveya arrayolabilir. |
displayName |
Kullanıcıya görüntülenmesi için gerekli parametre adı. |
description |
Gerekli parametre açıklaması. |
Güvenli dize parametreleri
Gizli bilgileri bir yapıt tanımına eklemek için, tanım dosyasının parameters bölümündeki secureStringParam söz dizimini kullanarak bu bilgileri güvenli dizeler olarak bildirin.
description öğesi boşluklar da dahil olmak üzere herhangi bir metin dizesine izin verir ve dizeyi kullanıcı arabiriminde maskelenmiş karakterler olarak sunar.
"securestringParam": {
"type": "securestring",
"displayName": "Secure String Parameter",
"description": "<any text string>",
"allowEmpty": false
},
Aşağıdaki runCommand, ConvertTo-SecureString komutunu kullanarak oluşturulan güvenli dizgeyi alan bir PowerShell betiğini kullanır. Betik, hata ayıklama amacıyla çıktıyı yakalar, bu nedenle güvenlik nedeniyle çıktıyı konsolda günlüğe kaydetmekten kaçının.
"runCommand": {
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy bypass \"& ./artifact.ps1 -StringParam ''', parameters('stringParam'), ''' -SecureStringParam (ConvertTo-SecureString ''', parameters('securestringParam'), ''' -AsPlainText -Force) -IntParam ', parameters('intParam'), ' -BoolParam:$', parameters('boolParam'), ' -FileContentsParam ''', parameters('fileContentsParam'), ''' -ExtraLogLines ', parameters('extraLogLines'), ' -ForceFail:$', parameters('forceFail'), '\"')]"
}
Artefakt ifadeleri ve fonksiyonlar
Yapıt yükleme komutunu oluşturmak için ifadeleri ve işlevleri kullanabilirsiniz. İfadeler, öğe yüklendiğinde değerlendirilir.
İfadeler JSON dize değerinin herhangi bir yerinde görünebilir ve her zaman başka bir JSON değeri döndürebilir. İfadeleri köşeli ayraç içine alın, [ ]. Köşeli ayraç ile başlayan bir sabit dizge kullanmanız gerekiyorsa, iki köşeli ayraç kullanın [[.
Genellikle bir değer oluşturmak için işlevlerle ifadeler kullanırsınız. İşlev çağrıları olarak functionName(arg1, arg2, arg3)biçimlendirilir.
Yaygın işlevler şunlardır:
| İşlev | Description |
|---|---|
parameters(parameterName) |
Yapıt komutu çalıştırıldığında kullanılacak bir parametre değeri döndürür. |
concat(arg1, arg2, arg3, ...) |
Birden çok dize değerini birleştirir ve çeşitli bağımsız değişkenler alabilir. |
Aşağıdaki örnek, bir değer oluşturmak için işleviyle concat ifadeleri kullanır.
runCommand": {
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy bypass \"& ./startChocolatey.ps1'
, ' -RawPackagesList ', parameters('packages')
, ' -Username ', parameters('installUsername')
, ' -Password ', parameters('installPassword'))]"
}
Özel yapıt oluşturma
Örnek bir artifactfile.json tanım dosyasından başlayarak özel bir yapıt oluşturabilirsiniz. Genel DevTest Labs artifakt deposu bir artifakt kitaplığına sahiptir. Bir yapıt tanım dosyasını indirebilir ve kendi yapıtlarınızı oluşturmak için özelleştirebilirsiniz.
artifactfile.json tanım dosyasını ve artifact.ps1 PowerShell betiğini https://github.com/Azure/azure-devtestlab/tree/master/Artifacts/windows-test-paramtypes adresinden indirin.
Öğelerde ve değerlerde bazı geçerli değişiklikler yapmak için yapıt tanım dosyasını düzenleyin. Visual Studio Code'da geçerli öğeleri ve değer seçeneklerini görmek için IntelliSense'i kullanabilirsiniz. Örneğin, öğesini düzenlerken
targetOsTypeIntelliSense sizeWindowsveyaLinuxseçenekleri gösterir.Yapıtınızı genel veya özel git yapıt deposunda depolayın.
- Her artifactfile.json yapıt tanımı dosyasını yapıt adıyla aynı adlı ayrı bir dizinde depolayın.
- Kurulum komutunun referans verdiği komut dosyalarını artefakt tanım dosyasıyla aynı dizinde depolayın.
Aşağıdaki ekran görüntüsünde örnek bir yapıt klasörü gösterilmektedir:
Uyarı
Özel yapıtlarınızı genel DevTest Labs yapıt deposuna eklemek için depo için birleştirme isteği açın.
Sonraki Adımlar
- DevTest Labs VM'lerine yapıt ekleme
- Tüm laboratuvar VM'lerine eklenecek zorunlu yapıtları belirtin
- Laboratuvara yapıt deposu ekleme