Elem létrehozása és közzététele

A PowerShell-galéria az a hely, ahol stabil PowerShell-modulokat, szkripteket és Desired State Configuration (DSC) erőforrásokat tehet közzé és oszthat meg a szélesebb Körű PowerShell-felhasználói közösséggel.

Ez a cikk a szkriptek vagy modulok előkészítésének és a PowerShell-galéria való közzétételének mechanikáit és fontos lépéseit ismerteti. Határozottan javasoljuk, hogy tekintse át a közzétételi útmutatót, hogy megértse, hogyan biztosíthatja, hogy a közzétett elemeket szélesebb körben fogadják el PowerShell-galéria felhasználók.

Az elemek PowerShell-galéria való közzétételének minimális követelményei a következők:

  • Rendelkeznie kell egy PowerShell-galéria-fiókkal, és hozzá van rendelve az API-kulcs
  • Győződjön meg arról, hogy a kötelező metaadatok szerepelnek az elemben
  • Az előérvényesítési eszközökkel győződjön meg arról, hogy az elem készen áll a közzétételre
  • Az elem közzététele a PowerShell-galéria a Publish-Module és Publish-Script parancsokkal
  • Válaszoljon az elemével kapcsolatos kérdésekre vagy aggodalmakra

A PowerShell-galéria elfogadja a PowerShell-modulokat és a PowerShell-szkripteket. Amikor szkriptekre hivatkozunk, egy PowerShell-szkriptet értünk, amely egyetlen fájl, és nem egy nagyobb modul része.

A PowerShell-galéria-fiók beállításáról lásd: PowerShell-galéria-fiók létrehozása.

Miután létrehozott egy fiókot, lekérheti az elem közzétételéhez szükséges API-kulcsot. Miután bejelentkezett a fiókkal, a felhasználónév a Regisztráció helyett a PowerShell-galéria lapok tetején jelenik meg. A felhasználónévre kattintva a Saját fiók lapra kerül, ahol megtalálja az API-kulcsot.

Fontos

Az API-kulcsot biztonságosan kell kezelni, mint a bejelentkezést és a jelszót. Ezzel a kulccsal Ön vagy bárki más frissítheti a PowerShell-galéria tulajdonában lévő elemeket. Javasoljuk, hogy rendszeresen frissítse a kulcsot, amelyet a Saját fiók lapon a Kulcs alaphelyzetbe állítása funkcióval végezhet el.

A PowerShell-galéria a szkriptben vagy a moduljegyzékben szereplő metaadatmezőkből származó felhasználók számára biztosít információkat. Az elemek PowerShell-galéria való létrehozásához vagy módosításához az elemjegyzékben megadott információkra vonatkozó követelmények kis halmaza van. Határozottan javasoljuk, hogy tekintse át a közzétételi irányelvek Elem metaadatok szakaszát, hogy megtudja, hogyan biztosíthatja a legjobb információkat a felhasználók számára az elemekhez.

A New-ModuleManifest és a New-ScriptFileInfo parancsmagok létrehozzák a jegyzéksablont az összes jegyzékelem helyőrzőivel.

Mindkét jegyzékfájlnak két olyan szakasza van, amelyek fontosak a közzétételhez, a PrivateData elsődleges kulcsadatai és PSData területe. A PowerShell-moduljegyzék elsődleges kulcsadatai a PrivateData szakaszon kívül minden. Az elsődleges kulcsok készlete a használt PowerShell-verzióhoz van kötve, és a nem definiált kulcsok nem támogatottak. A PrivateData támogatja az új kulcsok hozzáadását, így a PowerShell-galéria jellemző elemek a PSData-ban találhatók.

A PowerShell-galéria közzétett elemek legfontosabb kitöltéséhez szükséges jegyzékelemek a következők:

  • Szkript vagy modul neve – Ezek a szkriptek .PS1 vagy a parancsprogram nevéből származnak. PSD1 egy modulhoz.
  • Verzió – ez egy kötelező elsődleges kulcs, a formátumnak a SemVer irányelveit kell követnie. A részletekért tekintse meg az ajánlott eljárásokat.
  • Author – ez egy kötelező elsődleges kulcs, és tartalmazza az elemhez társítandó nevet. Lásd alább a Szerzők és tulajdonosok című témakört.
  • Leírás – ez egy kötelező elsődleges kulcs, amellyel röviden elmagyarázható, hogy mit tesz ez az elem, és milyen követelmények vonatkoznak rá
  • ProjectURI – ez egy erősen ajánlott URI-mező a PSData-ban, amely hivatkozást biztosít egy GitHub-adattárra vagy hasonló helyre, ahol fejlesztést végez az elemen
  • Címkék – erősen ajánlott címkézni a csomagot a PSEditions és a platformok kompatibilitása alapján. További részletekért lásd a közzétételi útmutatót.

A PowerShell-galéria elemek szerzői és tulajdonosai kapcsolódó fogalmak, de nem mindig egyeznek meg. Az elemtulajdonosok PowerShell-galéria fiókkal rendelkező felhasználók, akiknek van engedélye az elem karbantartására. Számos tulajdonos frissíthet bármilyen elemet. A Tulajdonos csak a PowerShell-galéria érhető el, és elveszik, ha az elemet az egyik rendszerből a másikba másolja. A Szerző egy sztring, amely a jegyzékadatokba van beépítve, így mindig az elem része. A Microsoft-termékekből származó elemekre vonatkozó javaslatok a következők:

  • Több tulajdonossal rendelkezik, és legalább egy az elemet előállító csapat neve
  • A Szerző legyen egy jól ismert csapatnév (például az Azure SDK-csapat) vagy a Microsoft Corporation

Az elem előzetes ellenőrzése

Az elemnek a PowerShell-galéria való közzététele előtt futtatnia kell néhány eszközt a kódon:

  • PowerShell-szkriptelemző, amely a PowerShell-galéria
  • Modulok esetében Test-ModuleManifest, amely a PowerShell része
  • Szkriptek esetén Test-ScriptFileInfo, amely a PowerShell Get-hez tartozik

A PowerShell Script Analyzer egy statikus kódelemző eszköz, amely megvizsgálja a kódot, hogy megfeleljen az alapvető PowerShell-kódolási irányelveknek. Ez az eszköz azonosítja a kód gyakori és kritikus problémáit, és a fejlesztés során rendszeresen futnia kell, hogy az elem készen álljon a közzétételre. A PowerShell-szkriptelemző a hibák, figyelmeztetések és információk néven azonosított problémák listáját adja meg. A PowerShell-galéria való közzététel előtt minden hibát meg kell oldani. A figyelmeztetéseket felül kell vizsgálni, és a legtöbb esetben foglalkozni kell. A PowerShell-szkriptelemző minden alkalommal fut, amikor egy elemet közzéteszik vagy frissítenek a PowerShell-galéria. A katalógusműveleti csapat kapcsolatba lép az elemtulajdonosokkal a talált hibák elhárításához.

Ha az elem jegyzékadatait a PowerShell-galéria infrastruktúra nem tudja elolvasni, nem fogja tudni közzétenni. A Test-ModuleManifest olyan gyakori problémákat fog észlelni, amelyek miatt a modul nem lesz használható a telepítéskor. A PowerShell-galéria való közzététel előtt minden modulhoz futtatni kell.

Hasonlóképpen, a Test-ScriptFileInfo ellenőrzi a metaadatokat egy szkriptben, és az PowerShell-galéria való közzététel előtt minden szkripten futtatni kell (modultól függetlenül közzé kell tenni).

Elemek közzététele

Az elemek PowerShell-galéria való közzétételéhez a Publish-Script vagy a Publish-Module modult kell használnia. Ezek a parancsok a következők:

  • A közzétenni kívánt elem elérési útja. Modul esetén használja a modulhoz tartozó mappát. Ha olyan mappát ad meg, amely ugyanannak a modulnak több verzióját tartalmazza, meg kell adnia a RequiredVersion értéket.
  • Egy Nuget API-kulcs. Ez a PowerShell-galéria Saját fiók lapján található API-kulcs.

A parancssor többi beállításának a közzétett elem jegyzékadataiban kell lennie, ezért nem kell megadnia őket a parancsban.

A hibák elkerülése érdekében erősen ajánlott a -WhatIf -Verbose paranccsal próbálkozni a közzététel előtt. Ez jelentős időt takarít meg, mivel minden alkalommal, amikor közzéteszi a PowerShell-galéria, frissítenie kell a verziószámot az elem jegyzékszakaszában.

Ilyen például a következő:

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

Alaposan tekintse át a kimenetet, és ha nem lát hibákat vagy figyelmeztetéseket, ismételje meg a parancsot a -WhatIf nélkül.

A PowerShell-galéria közzétett összes elem vírusokat keres, és a PowerShell-szkriptelemzővel lesz elemezve. Az adott időpontban felmerülő problémákat a rendszer visszaküldi a közzétevőnek megoldás céljából.

Miután közzétett egy elemet a PowerShell-galéria, watch kell visszajelzést küldenie az elemről.

  • Győződjön meg arról, hogy figyeli a közzétételhez használt fiókhoz társított e-mail-címet. A felhasználók és az PowerShell-galéria üzemeltetési csapata visszajelzést küld a fiókon keresztül, beleértve a PSSA vagy a víruskereső vizsgálatával kapcsolatos problémákat is. Ha az e-mail-fiók érvénytelen, vagy ha súlyos problémákat jelentenek a fióknak, és hosszú ideig megoldatlanok maradnak, az elemek elhagyatottnak tekinthetők, és el lesznek távolítva a PowerShell-galéria a használati feltételekben leírtak szerint.