Publish-Module
Publica um módulo especificado do computador local numa galeria online.
Syntax
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>]
Description
O Publish-Module
cmdlet publica um módulo numa galeria online baseada em NuGet através de uma chave de API, armazenada como parte do perfil de um utilizador na galeria. Pode especificar o módulo a publicar pelo nome do módulo ou pelo caminho para a pasta que contém o módulo.
Quando especifica um módulo por nome, Publish-Module
publica o primeiro módulo que seria encontrado ao executar Get-Module -ListAvailable <Name>
. Se especificar uma versão mínima de um módulo a publicar, Publish-Module
publica o primeiro módulo com uma versão maior ou igual à versão mínima que especificou.
A publicação de um módulo requer metadados apresentados na página da galeria do módulo. Os metadados necessários incluem o nome do módulo, a versão, a descrição e o autor. Embora a maioria dos metadados seja retirada do manifesto do módulo, alguns metadados têm de ser especificados em Publish-Module
parâmetros, como Etiqueta, ReleaseNote, IconUri, ProjectUri e LicenseUri, porque estes parâmetros correspondem aos campos numa galeria baseada em NuGet.
Os parâmetros que assumem os números da versão do módulo esperam cadeias formatadas como números de versão.
- Os números de versão padrão têm um formato de
x.y.z
onde x, y e z são números - As versões de pré-lançamento têm um formato de
x.y.z-<prerelease_label>
onde a<prerelease_label>
cadeia é arbitrária atribuída a essa versão.
Exemplos
Exemplo 1: Publicar um módulo
Neste exemplo, MyDscModule é publicado na galeria online com a chave de API para indicar a conta de galeria online do proprietário do módulo. Se MyDscModule não for um módulo de manifesto válido que especifique um nome, versão, descrição e autor, ocorre um erro.
Publish-Module -Name "MyDscModule" -NuGetApiKey "11e4b435-6cb4-4bf7-8611-5162ed75eb73"
Exemplo 2: Publicar um módulo com metadados de galeria
Neste exemplo, MyDscModule é publicado na galeria online com a chave de API para indicar a conta de galeria do proprietário do módulo. Os metadados adicionais fornecidos são apresentados na página Web do módulo na galeria. O proprietário adiciona duas etiquetas de pesquisa para o módulo, relacionando-o com o Active Directory; é adicionada uma breve nota de versão. Se MyDscModule não for um módulo de manifesto válido que especifique um nome, versão, descrição e autor, ocorre um erro.
$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
Parâmetros
-AllowPrerelease
Permite que os módulos marcados como pré-lançamento sejam publicados.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Pede-lhe confirmação antes de executar o Publish-Module
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Especifica uma conta de utilizador que tenha direitos para publicar um módulo para um fornecedor ou origem de pacotes especificado.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
Define ficheiros a excluir do módulo publicado.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Força o comando a ser executado sem pedir a confirmação do utilizador.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FormatVersion
Aceita apenas valores válidos especificados pelo atributo ValidateSet .
Para obter mais informações, veja ValidateSet Attribute Declaration e ValidateSetAttribute.
Type: | Version |
Accepted values: | 2.0 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IconUri
Especifica o URL de um ícone para o módulo. O ícone especificado é apresentado na página Web da galeria do módulo.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LicenseUri
Especifica o URL dos termos de licenciamento do módulo que pretende publicar.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Especifica o nome do módulo que pretende publicar. Publish-Module
procura o nome do módulo especificado em $Env:PSModulePath
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NuGetApiKey
Especifica a chave de API que pretende utilizar para publicar um módulo na galeria online. A chave de API faz parte do seu perfil na galeria online e pode ser encontrada na página da sua conta de utilizador na galeria. A chave de API é uma funcionalidade específica do NuGet.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Especifica o caminho para o módulo que pretende publicar. Este parâmetro aceita o caminho para a pasta que contém o módulo. A pasta tem de ter o mesmo nome que o módulo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ProjectUri
Especifica o URL de uma página Web sobre este projeto.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReleaseNotes
Especifica uma cadeia que contém notas de versão ou comentários que pretende que estejam disponíveis para os utilizadores desta versão do módulo.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Repository
Especifica o nome amigável de um repositório que foi registado ao executar Register-PSRepository
. O repositório tem de ter uma PublishLocation, que é um URI NuGet válido.
A PublishLocation pode ser definida ao executar Set-PSRepository
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredVersion
Especifica a versão exata de um único módulo a publicar.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipAutomaticTags
Remove comandos e recursos de serem incluídos como etiquetas. Ignora a adição automática de etiquetas a um módulo.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tags
Adiciona uma ou mais etiquetas ao módulo que está a publicar. As etiquetas de exemplo incluem DesiredStateConfiguration, DSC, DSCResourceKit ou PSModule. Separe várias etiquetas com vírgulas.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra o que aconteceria se as Publish-Module
execuções fossem executadas. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Saídas
Notas
O PowerShell inclui os seguintes aliases para Publish-Module
:
- Todas as plataformas:
pumo
Publish-Module
é executado no PowerShell 3.0 ou versões posteriores do PowerShell, no Windows 7 ou Windows 2008 R2 e versões posteriores do Windows.
Importante
A partir de abril de 2020, o Galeria do PowerShell já não suporta as versões 1.0 e 1.1 do Transport Layer Security (TLS). Se não estiver a utilizar o TLS 1.2 ou superior, receberá um erro ao tentar aceder ao Galeria do PowerShell. Utilize o seguinte comando para garantir que está a utilizar o TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Para obter mais informações, veja o anúncio no blogue do PowerShell.
A publicação de um módulo requer metadados apresentados na página da galeria do módulo. Os metadados necessários incluem o nome do módulo, a versão, a descrição e o autor. A maioria dos metadados é obtida do manifesto do módulo, mas alguns metadados podem ser especificados em Publish-Module
parâmetros, como Etiqueta, ReleaseNote, IconUri, ProjectUri e LicenseUri. Para obter mais informações, veja Valores de manifesto de pacote que afetam a IU do Galeria do PowerShell.