Een item maken en publiceren
De PowerShell Gallery is de plek om stabiele PowerShell-modules, scripts en Desired State Configuration-resources (DSC) te publiceren en te delen met de bredere PowerShell-gebruikers community.
In dit artikel worden de mechanismen en belangrijke stappen beschreven voor het voorbereiden van een script of module en het publiceren ervan naar de PowerShell Gallery. We raden u ten zeerste aan de publicatierichtlijnen te lezen om te begrijpen hoe u ervoor kunt zorgen dat de items die u publiceert, breder worden geaccepteerd door PowerShell Gallery gebruikers.
De minimale vereisten voor het publiceren van een item naar PowerShell Gallery zijn:
- Een account PowerShell Gallery en de BIJBEHORENDE API-sleutel
- Zorg ervoor dat vereiste metagegevens zich in uw item
- Gebruik de hulpprogramma's vóór validatie om ervoor te zorgen dat uw item gereed is om te worden gepubliceerd
- Publiceer het item naar de PowerShell Gallery met behulp van de Publish-Module en Publish-Script opdrachten
- Reageren op vragen of zorgen over uw item
De PowerShell Gallery powershell-modules en PowerShell-scripts accepteren. Wanneer we naar scripts verwijzen, bedoelen we een PowerShell-script dat één bestand is en geen deel uitmaakt van een grotere module.
PowerShell Gallery account en API-sleutel
Zie Een PowerShell Gallery maken voor het instellen van uw PowerShell Gallery account.
Zodra u een account hebt gemaakt, kunt u de API-sleutel krijgen die nodig is om een item te publiceren. Nadat u zich met het account hebt aanmelden, wordt uw gebruikersnaam boven aan de pagina's PowerShell Gallery weergegeven in plaats van Registreren. Als u op uw gebruikersnaam klikt, gaat u naar de pagina Mijn account, waar u de API-sleutel vindt.
Belangrijk
De API-sleutel moet net zo veilig worden behandeld als uw aanmelding en wachtwoord. Met deze sleutel kunt u, of iemand anders, elk item dat u bezit in de PowerShell Gallery. U wordt aangeraden de sleutel regelmatig bij te werken. Dit kunt u doen met Sleutel opnieuw instellen op de pagina Mijn account.
Vereiste metagegevens voor items die zijn gepubliceerd op PowerShell Gallery
De PowerShell Gallery informatie voor galeriegebruikers die zijn getekend uit metagegevensvelden die zijn opgenomen in het script of modulemanifest. Het maken of wijzigen van items voor publicatie naar PowerShell Gallery heeft een kleine set vereisten voor informatie die is opgegeven in het itemmanifest. We raden u ten zeerste aan de sectie Itemmetagegevens van de publicatierichtlijnen te bekijken voor meer informatie over het verstrekken van de beste informatie aan gebruikers met uw items.
De cmdlets New-ModuleManifest en New-ScriptFileInfo maken de manifestsjabloon voor u, met tijdelijke aanduidingen voor alle manifestelementen.
Beide manifesten hebben twee secties die belangrijk zijn voor publicatie: het gebied Primaire sleutelgegevens en PSData van PrivateData. De primaire sleutelgegevens in een PowerShell-modulemanifest staan allemaal buiten de sectie PrivateData. De set primaire sleutels is gekoppeld aan de versie van PowerShell die wordt gebruikt en niet-gedefinieerd wordt niet ondersteund. PrivateData ondersteunt het toevoegen van nieuwe sleutels, zodat de elementen die specifiek zijn voor de PowerShell Gallery zich in PSData.
Manifestelementen die het belangrijkst zijn om in te vullen voor het item dat u publiceert PowerShell Gallery zijn:
- Script- of modulenaam: deze worden getekend uit de namen van de .PS1 voor een script of de . PSD1 voor een module.
- Versie: dit is een vereiste primaire sleutel. De indeling moet voldoen aan de SemVer-richtlijnen. Zie Best Practices (Best practices) voor meer informatie.
- Auteur: dit is een vereiste primaire sleutel en bevat de naam die aan het item moet worden gekoppeld. Zie auteurs en eigenaren hieronder.
- Beschrijving: dit is een vereiste primaire sleutel, die wordt gebruikt om kort uit te leggen wat dit item doet en eventuele vereisten voor het gebruik ervan
- ProjectURI: dit is een sterk aanbevolen URI-veld in PSData dat een koppeling biedt naar een Github-opslagplaats of een vergelijkbare locatie waar u het item kunt ontwikkelen
- Tags: het is een goede aanbeveling om uw pakket te taggen op basis van de compatibiliteit met PSEditions en platforms. Zie publicatierichtlijnen voor meer informatie.
Auteurs en eigenaren van PowerShell Gallery items zijn verwante concepten, maar komen niet altijd overeen. Itemeigenaren zijn gebruikers met PowerShell Gallery accounts die zijn machtigingen om het item te onderhouden. Mogelijk zijn er veel eigenaren die elk item kunnen bijwerken. De eigenaar is alleen beschikbaar in PowerShell Gallery en gaat verloren als het item van het ene systeem naar het andere wordt gekopieerd. Auteur is een tekenreeks die is ingebouwd in de manifestgegevens, zodat deze altijd deel uitmaakt van het item. De aanbevelingen voor items uit Microsoft-producten zijn:
- Meerdere eigenaren hebben, met ten minste één eigenaar de naam van het team dat het item produceert
- De auteur een bekende teamnaam laten zijn (zoals Azure SDK-team) of Microsoft Corporation
Uw item vooraf valideren
Er zijn enkele hulpprogramma's die u moet uitvoeren voor uw code voordat u uw item publiceert naar PowerShell Gallery:
- PowerShell Script Analyzer,dat zich in de PowerShell Gallery
- Voor modules Test-ModuleManifest onderdeel van PowerShell
- Voor scripts, Test-ScriptFileInfo wordt geleverd met PowerShell Get
PowerShell Script Analyzer is een statisch hulpprogramma voor codeanalyse waarmee uw code wordt gescand om ervoor te zorgen dat deze voldoet aan de basisrichtlijnen voor PowerShell-codering. Dit hulpprogramma identificeert veelvoorkomende en kritieke problemen in uw code en moet regelmatig worden uitgevoerd tijdens de ontwikkeling, om u te helpen uw item gereed te maken voor publicatie. PowerShell Script Analyzer biedt een lijst met problemen die zijn geïdentificeerd als Fouten, Waarschuwing en Informatie. Alle fouten moeten worden verholpen voordat u naar de PowerShell Gallery. Waarschuwingen moeten worden gecontroleerd en de meeste moeten worden verholpen. PowerShell Script Analyzer wordt elke keer uitgevoerd wanneer een item wordt gepubliceerd of bijgewerkt in de PowerShell Gallery. Het Gallery Operations-team neemt contact op met itemeigenaren om gevonden fouten op te pakken.
Als de manifestgegevens in uw item niet kunnen worden gelezen door de PowerShell Gallery-infrastructuur, kunt u niet publiceren. Test-ModuleManifest ondervangt veelvoorkomende problemen die ertoe leiden dat de module niet kan worden gebruikt wanneer deze wordt geïnstalleerd. Deze moet worden uitgevoerd voor elke module voordat deze naar de PowerShell Gallery.
Op dezelfde manier valideert Test-ScriptFileInfo de metagegevens in een script en moet het worden uitgevoerd op elk script (gepubliceerd afzonderlijk van een module) voordat het wordt gepubliceerd naar de PowerShell Gallery.
Items publiceren
U moet de module Publish-Script of Publish-Module gebruiken om items naar de PowerShell Gallery. Voor deze opdrachten is het volgende vereist:
- Het pad naar het item dat u gaat publiceren. Gebruik voor een module de map met de naam voor uw module. Als u een map opgeeft die meerdere versies van dezelfde module bevat, moet u RequiredVersion opgeven.
- Een NuGet API-sleutel. Dit is de API-sleutel op de pagina Mijn account op de PowerShell Gallery.
De meeste andere opties in de opdrachtregel moeten zich in de manifestgegevens voor het item dat u publiceert, dus u hoeft ze niet op te geven in de opdracht .
Om fouten te voorkomen, wordt het sterk aanbevolen dat u de opdrachten probeert met -WhatIf -Verbose, voordat u publiceert. Dit bespaart veel tijd, omdat u telkens wanneer u naar de PowerShell Gallery publiceert, het versienummer moet bijwerken in de manifestsectie van het item.
Voorbeelden zijn:
Publish-Module -Path ".\MyModule" -NugetAPIKey "GUID" -WhatIf -VerbosePublish-Script -Path ".\MyScriptFile.PS1" -NugetAPIKey "GUID" -WhatIf -Verbose
Controleer de uitvoer zorgvuldig en als u geen fouten of waarschuwingen ziet, herhaalt u de opdracht zonder -WhatIf.
Alle items die naar de PowerShell Gallery worden gescand op virussen en worden geanalyseerd met behulp van de PowerShell Script Analyzer. Eventuele problemen die zich op dat moment voordoen, worden ter oplossing teruggestuurd naar de uitgever.
Nadat u een item naar het PowerShell Gallery gepubliceerd, moet u naar feedback over uw item kijken.
- Zorg ervoor dat u het e-mailadres bewaakt dat is gekoppeld aan het account dat wordt gebruikt om te publiceren. Gebruikers en het PowerShell Gallery Operations-team geven feedback via dat account, inclusief problemen met de PSSA- of antivirusscans. Als het e-mailaccount ongeldig is, ofals ernstige problemen worden gerapporteerd aan het account en lange tijd niet zijn opgelost, kunnen items worden beschouwd als verlaten en worden ze verwijderd uit de PowerShell Gallery zoals beschreven in onze gebruiksvoorwaarden.