Udostępnij za pośrednictwem


Publish-Module

Publikuje określony moduł z komputera lokalnego do galerii online.

Składnia

Publish-Module
       -Name <String>
       [-RequiredVersion <String>]
       [-NuGetApiKey <String>]
       [-Repository <String>]
       [-Credential <PSCredential>]
       [-FormatVersion <Version>]
       [-ReleaseNotes <String[]>]
       [-Tags <String[]>]
       [-LicenseUri <Uri>]
       [-IconUri <Uri>]
       [-ProjectUri <Uri>]
       [-Exclude <String[]>]
       [-Force]
       [-AllowPrerelease]
       [-SkipAutomaticTags]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Publish-Module
       -Path <String>
       [-NuGetApiKey <String>]
       [-Repository <String>]
       [-Credential <PSCredential>]
       [-FormatVersion <Version>]
       [-ReleaseNotes <String[]>]
       [-Tags <String[]>]
       [-LicenseUri <Uri>]
       [-IconUri <Uri>]
       [-ProjectUri <Uri>]
       [-Force]
       [-SkipAutomaticTags]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Opis

Polecenie Publish-Module cmdlet publikuje moduł w galerii opartej na nuGet online przy użyciu klucza interfejsu API przechowywanego jako część profilu użytkownika w galerii. Możesz określić moduł do opublikowania według nazwy modułu lub ścieżki do folderu zawierającego moduł.

Po określeniu modułu według nazwy publikuje pierwszy moduł, Publish-Module który zostanie znaleziony, uruchamiając polecenie Get-Module -ListAvailable <Name>. Jeśli określisz minimalną wersję modułu do opublikowania, Publish-Module opublikuje pierwszy moduł z wersją większą lub równą określonej minimalnej wersji.

Opublikowanie modułu wymaga metadanych wyświetlanych na stronie galerii modułu. Wymagane metadane obejmują nazwę modułu, wersję, opis i autora. Chociaż większość metadanych jest pobierana z manifestu modułu, niektóre metadane muszą być określone w Publish-Module parametrach, takich jak Tag, ReleaseNote, IconUri, ProjectUri i LicenseUri, ponieważ te parametry pasują do pól w galerii opartej na nuGet.

Parametry, które przyjmują numery wersji modułu, oczekują ciągów sformatowanych jako numery wersji.

  • Numery wersji standardowych mają format x.y.z , w którym x, y i z to liczby
  • Wersje wstępne mają format x.y.z-<prerelease_label> , w <prerelease_label> którym jest przypisany dowolny ciąg do tej wersji.

Przykłady

Przykład 1. Publikowanie modułu

W tym przykładzie moduł MyDscModule jest publikowany w galerii online przy użyciu klucza interfejsu API w celu wskazania konta galerii online właściciela modułu. Jeśli moduł MyDscModule nie jest prawidłowym modułem manifestu określającym nazwę, wersję, opis i autora, wystąpi błąd.

Publish-Module -Name "MyDscModule" -NuGetApiKey "11e4b435-6cb4-4bf7-8611-5162ed75eb73"

Przykład 2. Publikowanie modułu z metadanymi galerii

W tym przykładzie moduł MyDscModule jest publikowany w galerii online przy użyciu klucza interfejsu API w celu wskazania konta właściciela modułu galerii. Dodatkowe metadane są wyświetlane na stronie internetowej modułu w galerii. Właściciel dodaje dwa tagi wyszukiwania dla modułu, powiązane z usługą Active Directory; Zostanie dodana krótka informacja o wersji. Jeśli moduł MyDscModule nie jest prawidłowym modułem manifestu określającym nazwę, wersję, opis i autora, wystąpi błąd.

$parameters = @{
    Name        = "MyDscModule"
    NuGetApiKey = "11e4b435-6cb4-4bf7-8611-5162ed75eb73"
    LicenseUri  = "http://contoso.com/license"
    Tag         = "Active Directory","DSC"
    ReleaseNote = "Updated the ActiveDirectory DSC Resources to support adding users."
}
Publish-Module @parameters

Parametry

-AllowPrerelease

Umożliwia publikowanie modułów oznaczonych jako wstępnie.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia Publish-Module.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Określa konto użytkownika, które ma uprawnienia do publikowania modułu dla określonego dostawcy pakietu lub źródła.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

Definiuje pliki do wykluczenia z opublikowanego modułu.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatVersion

Akceptuje tylko prawidłowe wartości określone przez atrybut ValidateSet .

Aby uzyskać więcej informacji, zobacz ValidateSet Attribute Declaration i ValidateSetAttribute.

Type:Version
Accepted values:2.0
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IconUri

Określa adres URL ikony modułu. Określona ikona jest wyświetlana na stronie internetowej galerii dla modułu.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LicenseUri

Określa adres URL postanowień licencyjnych dla modułu, który chcesz opublikować.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Określa nazwę modułu, który chcesz opublikować. Publish-Module wyszukuje określoną nazwę modułu w pliku $Env:PSModulePath.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NuGetApiKey

Określa klucz interfejsu API, którego chcesz użyć do opublikowania modułu w galerii online. Klucz interfejsu API jest częścią Twojego profilu w galerii online i można go znaleźć na stronie twojego konta użytkownika w galerii. Klucz interfejsu API jest funkcją specyficzną dla narzędzia NuGet.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Określa ścieżkę do modułu, który chcesz opublikować. Ten parametr akceptuje ścieżkę do folderu zawierającego moduł. Folder musi mieć taką samą nazwę jak moduł.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ProjectUri

Określa adres URL strony internetowej dotyczącej tego projektu.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReleaseNotes

Określa ciąg zawierający informacje o wersji lub komentarze, które mają być dostępne dla użytkowników tej wersji modułu.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Repository

Określa przyjazną nazwę repozytorium, które zostało zarejestrowane przez uruchomienie polecenia Register-PSRepository. Repozytorium musi mieć wartość PublishLocation, która jest prawidłowym identyfikatorem URI NuGet. Polecenie PublishLocation można ustawić, uruchamiając polecenie Set-PSRepository.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Określa dokładną wersję pojedynczego modułu do opublikowania.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipAutomaticTags

Usuwa polecenia i zasoby z dołączania ich jako tagów. Pomija automatyczne dodawanie tagów do modułu.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tags

Dodaje co najmniej jeden tag do publikowanego modułu. Przykładowe tagi obejmują DesiredStateConfiguration, DSC, DSCResourceKit lub PSModule. Oddziel wiele tagów przecinkami.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Pokazuje, co się stanie, jeśli przebiegi zostaną uruchomione Publish-Module . Polecenie cmdlet nie zostało uruchomione.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

String

PSCredential

Dane wyjściowe

Object

Uwagi

Program PowerShell zawiera następujące aliasy dla Publish-Moduleprogramu :

  • Wszystkie platformy:
    • pumo

Publish-Module działa w wersjach programu PowerShell 3.0 lub nowszych programu PowerShell w systemach Windows 7 lub Windows 2008 R2 i nowszych wersjach systemu Windows.

Ważne

Od kwietnia 2020 r. Galeria programu PowerShell nie obsługuje już protokołu Transport Layer Security (TLS) w wersji 1.0 i 1.1. Jeśli nie używasz protokołu TLS 1.2 lub nowszego, podczas próby uzyskania dostępu do Galeria programu PowerShell zostanie wyświetlony błąd. Użyj następującego polecenia, aby upewnić się, że używasz protokołu TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Aby uzyskać więcej informacji, zobacz ogłoszenie w blogu programu PowerShell.

Opublikowanie modułu wymaga metadanych wyświetlanych na stronie galerii modułu. Wymagane metadane obejmują nazwę modułu, wersję, opis i autora. Większość metadanych jest pobierana z manifestu modułu, ale niektóre metadane można określić w Publish-Module parametrach, takich jak Tag, ReleaseNote, IconUri, ProjectUri i LicenseUri. Aby uzyskać więcej informacji, zobacz Package manifest values that impact the Galeria programu PowerShell UI (Wartości manifestu pakietu wpływające na interfejs użytkownika Galeria programu PowerShell).