Publish-Module
Publica um módulo especificado do computador local em uma 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 em uma galeria online baseada em NuGet usando uma chave de API, armazenada como parte do perfil de um usuário na galeria. Você pode especificar o módulo a ser publicado usando o nome do módulo ou o caminho para a pasta que contém o módulo.
Quando você especifica um módulo por nome, Publish-Module
publica o primeiro módulo que seria encontrado executando Get-Module -ListAvailable <Name>
. Se você especificar uma versão mínima de um módulo a ser publicado, Publish-Module
publicará o primeiro módulo com uma versão maior ou igual à versão mínima especificada.
A publicação de um módulo requer metadados que são exibidos na página da galeria para o módulo. Os metadados necessários incluem o nome, a versão, a descrição e o autor do módulo. Embora a maioria dos metadados seja obtida do manifesto do módulo, alguns metadados devem ser especificados em Publish-Module
parâmetros, como Tag, ReleaseNote, IconUri, ProjectUri e LicenseUri, porque esses parâmetros correspondem a campos em uma galeria baseada em NuGet.
Os parâmetros que levam números de versão do módulo esperam cadeias de caracteres formatadas como números de versão.
- Os números de versão padrão têm um formato em
x.y.z
que 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 de caracteres é arbitrária atribuída a essa versão.
Exemplos
Exemplo 1: Publicar um módulo
Neste exemplo, MyDscModule é publicado na galeria online usando a chave de API para indicar a conta da galeria online do proprietário do módulo. Se MyDscModule não for um módulo de manifesto válido que especifica um nome, versão, descrição e autor, ocorrerá um erro.
Publish-Module -Name "MyDscModule" -NuGetApiKey "11e4b435-6cb4-4bf7-8611-5162ed75eb73"
Exemplo 2: Publicar um módulo com metadados da galeria
Neste exemplo, MyDscModule é publicado na galeria online usando a chave de API para indicar a conta da galeria do proprietário do módulo. Os metadados adicionais fornecidos são exibidos na página da Web do módulo na galeria. O proprietário adiciona duas marcas de pesquisa para o módulo, relacionando-o ao Active Directory; uma breve nota de versão é adicionada. Se MyDscModule não for um módulo de manifesto válido que especifica um nome, versão, descrição e autor, ocorrerá 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 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
Solicita a 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 usuário que tem direitos de publicar um módulo para um provedor ou fonte de pacote especificado.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
Define arquivos a serem excluídos 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 solicitar a confirmação do usuário.
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, consulte 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 a URL de um ícone para o módulo. O ícone especificado é exibido na página da 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 a URL dos termos de licenciamento para o módulo que você deseja 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 você deseja publicar. Publish-Module
pesquisa 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 você deseja usar 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 de sua conta de usuário 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 você deseja publicar. Esse parâmetro aceita o caminho para a pasta que contém o módulo. A pasta deve 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 a URL de uma página da 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 de caracteres que contém notas de versão ou comentários que você deseja estar disponível para os usuários 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 registrado executando Register-PSRepository
. O repositório deve ter um PublishLocation, que é um URI nuget válido.
O PublishLocation pode ser definido executando 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 ser publicado.
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 marcas. Ignora a adição automática de marcas 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 marcas ao módulo que você está publicando. As marcas de exemplo incluem DesiredStateConfiguration, DSC, DSCResourceKit ou PSModule. Separe várias marcas 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. 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
Observações
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, a Galeria do PowerShell não dará mais suporte às versões 1.0 e 1.1 do protocolo TLS. Se você não estiver usando o TLS 1.2 ou posterior, receberá um erro ao tentar acessar a Galeria do PowerShell. Use o seguinte comando para garantir que esteja usando o TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Para obter mais informações, confira o comunicado no blog do PowerShell.
A publicação de um módulo requer metadados que são exibidos na página da galeria para o módulo. Os metadados necessários incluem o nome, a versão, a descrição e o autor do módulo. A maioria dos metadados é obtida do manifesto do módulo, mas alguns metadados podem ser especificados em Publish-Module
parâmetros, como Tag, ReleaseNote, IconUri, ProjectUri e LicenseUri. Para obter mais informações, consulte Valores de manifesto do pacote que afetam a interface do usuário do Galeria do PowerShell.