Öğe oluşturma ve yayımlama

PowerShell Galerisi, kararlı PowerShell modülleri, betikleri ve Desired State Configuration (DSC) kaynaklarını daha geniş PowerShell kullanıcı topluluğuyla yayımlayıp paylaşacağınız yerdir.

Bu makale, bir betik veya modülü hazırlamanın ve PowerShell Galerisi yayımlamanın mekaniklerini ve önemli adımlarını kapsar. Yayımladığınız öğelerin PowerShell Galerisi kullanıcılar tarafından daha geniş bir şekilde kabul edilmesini nasıl sağlayacağınızı anlamak için Yayımlama Yönergeleri'ni gözden geçirmenizi kesinlikle öneririz.

Bir öğeyi PowerShell Galerisi yayımlamak için en düşük gereksinimler şunlardır:

  • bir PowerShell Galerisi hesabınız ve onunla ilişkilendirilmiş API Anahtarınız var
  • Gerekli Meta Verilerin öğenizde olduğundan emin olun
  • Öğenizin yayımlamaya hazır olduğundan emin olmak için ön doğrulama araçlarını kullanın
  • Publish-Module ve Publish-Script komutlarını kullanarak öğeyi PowerShell Galerisi yayımlama
  • Öğenizle ilgili sorulara veya endişelere yanıt verme

PowerShell Galerisi PowerShell modüllerini ve PowerShell betiklerini kabul eder. Betiklere başvurdığımızda, daha büyük bir modülün parçası değil, tek bir dosya olan PowerShell betiği anlamına gelir.

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 gereken API Anahtarını alabilirsiniz. Hesapla oturum açtığınızda, kullanıcı adınız Kayıt yerine PowerShell Galerisi sayfalarının en üstünde görüntülenir. Kullanıcı adınıza tıkladığınızda API Anahtarını bulabileceğiniz Hesabım sayfasına gidebilirsiniz.

Önemli

API Anahtarı, oturum açma bilgileriniz ve parolanız kadar güvenli bir şekilde ele alınmalıdır. Bu anahtarla, siz veya başka biri, PowerShell Galerisi sahip olduğunuz herhangi bir öğeyi güncelleştirebilirsiniz. Anahtarı düzenli olarak güncelleştirmenizi öneririz. Bu işlem Hesabım sayfanızda Sıfırlama Anahtarı kullanılarak yapılabilir.

PowerShell Galerisi, betik veya modül bildirimine dahil edilen meta veri alanlarından çekilen galeri kullanıcılarına bilgi sağlar. PowerShell Galerisi yayın için öğe oluşturma veya değiştirme, öğe bildiriminde sağlanan bilgiler için küçük bir gereksinim kümesine sahiptir. Öğelerinizi kullanıcılara en iyi şekilde nasıl sağlayacağınızı öğrenmek için Yayımlama Yönergeleri'nin Öğe Meta Verileri bölümünü gözden geçirmenizi kesinlikle öneririz.

New-ModuleManifest ve New-ScriptFileInfo cmdlet'leri, tüm bildirim öğeleri için yer tutucularla birlikte bildirim şablonunu sizin için oluşturur.

Her iki bildirim de yayımlama için önemli olan iki bölüme sahiptir: PrivateData'nın Birincil Anahtar Verileri ve PSData alanı. Bir PowerShell modül bildirimindeki birincil anahtar verileri PrivateData bölümünün dışındaki her şeydir. Birincil anahtar kümesi kullanımdaki PowerShell sürümüne bağlıdır ve tanımsız desteklenmez. PrivateData yeni anahtar eklemeyi desteklediğinden, PowerShell Galerisi özgü öğeler PSData'dadır.

PowerShell Galerisi yayımladığınız öğe için doldurulması en önemli bildirim öğeleri şunlardır:

  • Betik veya Modül Adı - Bunlar, bir betik veya için .PS1 adlarından çekilir. Modül için PSD1.
  • Sürüm - Bu gerekli bir birincil anahtardır, biçim SemVer yönergelerine uymalıdır. Ayrıntılar için bkz. En İyi Yöntemler.
  • 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, bu öğenin ne yaptığını ve onu kullanmaya yönelik gereksinimleri kısaca açıklamak için kullanılan gerekli bir birincil anahtardır
  • ProjectURI - Bu, PSData'da bir GitHub deposuna veya öğe üzerinde geliştirme yaptığınız benzer bir konuma bağlantı sağlayan, kesinlikle önerilen bir URI alanıdır
  • Etiketler : Paketinizi PSEditions ve platformlarla uyumluluğuna göre etiketlemeniz önerilir. Ayrıntılar için bkz . Yayımlama Yönergeleri.

PowerShell Galerisi öğelerinin yazarları ve sahipleri ilgili kavramlardır, ancak her zaman eşleşmez. Öğe Sahipleri, öğeyi koruma izni olan PowerShell Galerisi hesapları olan kullanıcılardır. Herhangi bir öğeyi güncelleştirebilecek çok sayıda Sahip olabilir. Sahip yalnızca PowerShell Galerisi kullanılabilir ve öğe bir sistemden diğerine kopyalanırsa kaybolur. Yazar, bildirim verisinde yerleşik olarak bulunan bir dizedir, bu nedenle her zaman öğenin bir parçasıdır. Microsoft ürünlerinden gelen öğelere yönelik öneriler şunlardır:

  • Öğeyi üreten ekibin adı en az biri olmak üzere birden çok sahibi olmalıdır
  • Yazarın iyi bilinen bir ekip adı (Azure SDK Ekibi gibi) veya Microsoft Corporation olmasını isteyin

Öğenizi Önceden Doğrulama

Öğenizi PowerShell Galerisi yayımlamadan önce kodunuzda çalıştırmanız gereken birkaç araç vardır:

  • PowerShell Galerisi powershell betik çözümleyicisi
  • Modüller için, PowerShell'in parçası olan Test-ModuleManifest
  • Betikler için, PowerShell Get ile birlikte gelen Test-ScriptFileInfo

PowerShell Betik Çözümleyicisi , temel PowerShell kodlama yönergelerini karşıladığından emin olmak için kodunuzu tarar. Bu araç, kodunuzdaki yaygın ve kritik sorunları belirler ve öğenizi yayımlamaya hazır olmanıza yardımcı olmak için geliştirme sırasında düzenli olarak çalıştırılmalıdır. PowerShell Betik Çözümleyicisi Hatalar, 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 gözden geçirilmesi ve çoğu ele alınmalıdır. PowerShell Betik Çözümleyicisi, PowerShell Galerisi bir öğe yayımlandığında veya güncelleştirildiğinde çalıştırılır. Galeri İşlemleri ekibi, bulunan hataları gidermek için öğe sahiplerine başvuracak.

Öğenizdeki bildirim bilgileri PowerShell Galerisi altyapısı tarafından okunamıyorsa yayımlayamazsınız. Test-ModuleManifest , yüklendiğinde modülün kullanılamamasına neden olan yaygın sorunları yakalar. PowerShell Galerisi yayımlamadan önce her modül için çalıştırılmalıdır.

Benzer şekilde, Test-ScriptFileInfo bir betikteki meta verileri doğrular ve PowerShell Galerisi yayımlamadan önce her betikte (modülden ayrı olarak yayımlanır) çalıştırılmalıdır.

Yayımlama Öğeleri

Öğeleri PowerShell Galerisi yayımlamak için Publish-Script veya Publish-Module kullanmanız gerekir. Bu komutların her ikisi de şunları gerektirir:

  • Yayımlayacağınız öğenin yolu. Bir modül için modülünüz için adlı klasörü kullanın. Aynı modülün birden çok sürümünü içeren bir klasör belirtirseniz RequiredVersion seçeneğini belirtmeniz gerekir.
  • 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 öğenin bildirim verilerinde olmalıdır, bu nedenle bunları komutta belirtmeniz gerekmez.

Hataları önlemek için, yayımlamadan önce -WhatIf -Verbose kullanarak komutları denemeniz kesinlikle önerilir. PowerShell Galerisi her yayımladığınızda öğenin bildirim bölümündeki sürüm numarasını güncelleştirmeniz gerektiğinden, bu işlem önemli ölçüde zaman kazandırır.

Örnek olarak şunlar verilebilir:

  • Publish-Module -Path ".\MyModule" -NugetAPIKey "GUID" -WhatIf -Verbose
  • Publish-Script -Path ".\MyScriptFile.PS1" -NugetAPIKey "GUID" -WhatIf -Verbose

Çıkışı dikkatle gözden geçirin ve hata veya uyarı görmüyorsanız komutu -WhatIf olmadan yineleyin.

PowerShell Galerisi yayımlanan tüm öğeler virüs taramasına alınır ve PowerShell Betik Çözümleyicisi kullanılarak analiz edilir. O sırada ortaya çıkan tüm sorunlar çözüm için yayımcıya geri gönderilir.

bir öğeyi PowerShell Galerisi yayımladıktan sonra, öğenizle ilgili geri bildirim için watch gerekir.

  • Yayımlamak için kullanılan hesapla ilişkili e-posta adresini izlediğinize emin olun. Kullanıcılar ve PowerShell Galerisi İşlemleri ekibi, PSSA veya virüsten koruma taramalarıyla ilgili sorunlar da dahil olmak üzere bu hesap aracılığıyla geri bildirim sağlayacaktır. E-posta hesabı geçersizse veya hesaba ciddi sorunlar bildirilirse ve uzun süre çözülmemiş durumda bırakılırsa, öğeler kullanımdan kaldırılmış olarak kabul edilebilir ve Kullanım Koşullarımızda açıklandığı gibi PowerShell Galerisi kaldırılır.