Öğe oluşturma ve yayımlama
PowerShell Galerisi, daha geniş powershell kullanıcı topluluğuyla kararlı powershell modülleri, betikleri ve Desired State Configuration (DSC) kaynaklarını yayımlamak ve paylaşmak için yer vardır.
Bu makalede, bir komut dosyası veya modülü hazırlamaya ve PowerShell Galerisi yayımlamaya yönelik olan mekanizması ve önemli adımlar ele alınmaktadır. Yayımladığınız öğelerin PowerShell Galerisi kullanıcılar tarafından daha yaygın olarak kabul edilip edilmediğini anlamak için Yayımlama kılavuzunu incelemenizi önemle öneririz.
PowerShell Galerisi bir öğe yayımlamak için gereken en düşük gereksinimler şunlardır:
- Bir PowerShell Galerisi hesabına ve onunla ilişkili API anahtarına sahip
- Gerekli meta verilerin sizin öğede olduğundan emin olun
- Önceden doğrulama araçlarını kullanarak, öğenin yayımlamaya hazırlamasına emin olun
- Publish-Module ve Publish-Script komutlarını kullanarak öğeyi PowerShell Galerisi yayımlayın
- Öğe hakkındaki sorulara veya kaygılara yanıt verin
PowerShell Galerisi PowerShell modüllerini ve PowerShell betiklerini kabul eder. Betiklerine başvururken, tek bir dosya olan ve daha büyük bir modülün parçası olmayan bir PowerShell betiği demek biliyoruz.
PowerShell Galerisi hesabı ve API anahtarı
PowerShell Galerisi hesabınızı ayarlama hakkında bilgi için bkz. PowerShell Galerisi hesabı oluşturma .
Bir hesap oluşturduktan sonra, bir öğeyi yayımlamak için gerekli olan API anahtarını alabilirsiniz. Hesap ile oturum açtıktan sonra, Kullanıcı adınız kayıt yerine PowerShell Galerisi sayfaların en üstünde görüntülenir. Kullanıcı adınızı tıklatmak sizi API anahtarını bulacağınız Hesabım sayfasına götürür.
Önemli
API anahtarı, oturum açma ve parola olarak güvenli olarak değerlendirilmelidir. Bu anahtarla sizin veya başka biri, PowerShell Galerisi sahip olduğunuz herhangi bir öğeyi güncelleştirebilir. Anahtarı düzenli olarak güncelleştirmenizi öneririz, bu, Hesabım sayfanızda sıfırlama anahtarı kullanılarak yapılabilir.
PowerShell Galerisi yayımlanan öğeler için gerekli meta veriler
PowerShell Galerisi, komut dosyasında veya modül bildiriminde bulunan meta veri alanlarından çizilen Galeri kullanıcılarına bilgi sağlar. PowerShell Galerisi yayımlama için öğelerin oluşturulması veya değiştirilmesi, öğe bildiriminde sağlanan bilgiler için küçük bir gereksinimlere sahiptir. Öğelerinizdeki kullanıcılara en iyi bilgileri nasıl sağlayacağınızı öğrenmek için Yayımlama yönergelerinin öğe meta verileri bölümünü incelemenizi önemle öneririz.
New-ModuleManifest ve New-scriptfıleınfo cmdlet 'leri sizin için bildirim şablonunu, tüm bildirim öğelerinin yer tutucuları ile oluşturacaktır.
Her iki bildirimin de, PrivateData 'ın birincil anahtar verileri ve PSData alanı yayımlamak için önemli iki bölümü vardır. Bir PowerShell modülü bildirimindeki birincil anahtar verileri, PrivateData bölümünün dışında her şey olur. Birincil anahtarlar kümesi kullanımda olan PowerShell sürümüne bağlıdır ve tanımsız desteklenmez. PrivateData yeni anahtar eklemeyi destekler, bu nedenle PowerShell Galerisi özgü öğeler PSData ' dir.
PowerShell Galerisi yayımladığınız öğe için doldurulması gereken en önemli bildirim öğeleri şunlardır:
- Betik veya modül adı-bir betik veya için .PS1 adlarından çizilir. Modül için PSD1.
- Sürüm-bu gerekli bir birincil anahtardır, biçim SemVer yönergelerini izlemelidir. Ayrıntılar için bkz. En Iyi uygulamalar.
- Yazar-bu gerekli bir birincil anahtardır ve öğeyle ilişkilendirilecek adı içerir. Aşağıdaki yazarlar ve sahipler bölümüne bakın.
- Açıklama-Bu öğenin ne yaptığını ve kullanma gereksinimlerini kısaca açıklamak için kullanılan gerekli bir birincil anahtardır
- ProjectURI-bu, bir GitHub deposunun veya öğe üzerinde geliştirme yaptığınız benzer konumun bir bağlantısını sağlayan PSData 'da önerilen bir önerilen URI alanıdır
- Etiketler-paketinizi, PSEditions ve platformlarla uyumluluğuna göre etiketlemek için güçlü bir önerimiz vardır. Ayrıntılar için bkz. Yayımlama kılavuzları.
PowerShell Galerisi öğelerinin yazarları ve sahipleri ilgili kavramlardır, ancak her zaman eşleşmez. Öğe sahipleri, öğeyi sürdürmek için izni olan PowerShell Galerisi hesapları olan kullanıcılardır. Herhangi bir öğeyi güncelleştirebilen birçok sahip olabilir. Sahip yalnızca PowerShell Galerisi vardır ve öğe bir sistemden diğerine kopyalanırsa kaybedilir. Yazar, bildirim verilerinde yerleşik olan bir dizedir, bu nedenle öğenin her zaman bir parçasıdır. Microsoft ürünleriyle ilgili öneriler şunlardır:
- En az bir, öğeyi üreten ekibin adı olacak şekilde birden çok sahibe sahip olmak
- Yazarın iyi bilinen bir takım adı (Azure SDK ekibi gibi) veya Microsoft Corporation
Öğeyi önceden doğrulama
Dosyanızı PowerShell Galerisi yayımlamadan önce kodunuza karşı çalıştırmanız gereken birkaç araç vardır:
- PowerShell Galerisi olan PowerShell betiği Çözümleyicisi
- Modüller için, PowerShell 'in parçası olan Test-ModuleManifest
- PowerShell Get ile birlikte gelen betikler için Test-ScriptFileInfo
PowerShell betiği Çözümleyicisi , temel PowerShell kodlama kılavuzlarını karşıladığından emin olmak için kodunuzu tarayacağı statik bir kod analizi aracıdır. Bu araç kodunuzda ortak ve kritik sorunları belirler ve öğeyi yayımlamaya hazırlamak için geliştirme sırasında düzenli olarak çalıştırılmalıdır. PowerShell betiği Çözümleyicisi hata, uyarı ve bilgi olarak tanımlanan sorunların listesini sağlar. PowerShell Galerisi yayımlamadan önce tüm hataların giderilmesi gerekir. Uyarıların incelenmesi ve en çok değinilmesi gerekir. PowerShell betiği Çözümleyicisi bir öğe her yayımlandığında veya PowerShell Galerisi güncelleştirildiği her seferinde çalıştırılır. Galeri Işlemleri ekibi, bulunan hataları gidermek için öğe sahiplerine başvuracaktır.
Öğe içindeki bildirim bilgileri PowerShell Galerisi altyapısı tarafından okunamayacak, yayımlayameyeceksiniz. Test-ModuleManifest , bir modülün yüklendiğinde kullanılamaz hale gelmesine neden olacak yaygın sorunları yakalar. PowerShell Galerisi yayımlamadan önce her modül için çalıştırılmalıdır.
Benzer şekilde, Test-Scriptfıleınfo , bir betikteki meta verileri doğrular ve PowerShell Galerisi yayımlamadan önce her bir betikte (modülden ayrı olarak yayımlandı) çalıştırılması gerekir.
Öğeler yayımlanıyor
Öğeleri PowerShell Galerisi yayımlamak için Publish-Script veya Publish-Module ' i kullanmanız gerekir. Bu komutların her ikisi de gereklidir:
- Yayımlayacağınız öğenin yolu. Bir modül için modülünüzün adlı klasörü kullanın. Aynı modülün birden çok sürümünü içeren bir klasör belirtirseniz, RequiredVersion değerini belirtmeniz gerekir.
- Bir NuGet API anahtarı. Bu, PowerShell Galerisi Hesabım sayfasında bulunan API anahtarıdır.
Komut satırındaki diğer seçeneklerin çoğu, yayımladığınız öğe için bildirim verilerinde olmalıdır, bu nedenle bunları komutta belirtmeniz gerekmez.
Hataları önlemek için, yayımlamadan önce-whatIf-verbose komutunu kullanarak komutları denemeniz önemle tavsiye edilir. Bu, PowerShell Galerisi her yayımlamanızda, öğenin bildirim bölümündeki sürüm numarasını güncelleştirmeniz gerekir.
Örnekler şöyle olabilir:
Publish-Module -Path ".\MyModule" -NugetAPIKey "GUID" -WhatIf -VerbosePublish-Script -Path ".\MyScriptFile.PS1" -NugetAPIKey "GUID" -WhatIf -Verbose
Çıktıyı dikkatle gözden geçirin ve hata veya uyarı görmüyorsanız komutu-whatIf olmadan tekrarlayın.
PowerShell Galerisi yayımlanan tüm öğeler virüsler için taranır ve PowerShell betiği Çözümleyicisi kullanılarak çözümlenir. Bu sırada ortaya çıkan tüm sorunlar, çözüm için yayımcıya geri gönderilir.
PowerShell Galerisi bir öğe yayımladıktan sonra, bu öğeye ilişkin geri bildirim izlemeniz gerekecektir.
- Yayımlamak için kullanılan hesapla ilişkili e-posta adresini izlemenize emin olun. Kullanıcılar ve PowerShell Galerisi Işlemler ekibi, PSSA veya virüsten koruma taramalarından oluşan sorunlar da dahil olmak üzere bu hesap aracılığıyla geri bildirim sağlayacaktır. E-posta hesabı geçersizse veya hesaba ciddi sorunlar raporlanmışsa ve çözümlenmemiş bir süre boyunca sorun olduysa, öğeler terk edilebilir kabul edilebilir ve bu, Kullanım koşullarımızbölümünde açıklandığı gibi PowerShell Galerisi kaldırılır.