function Invoke-Publish { <# .SYNOPSIS Publishes powershell module to internal Nexus repository. .DESCRIPTION This Cmdlet is used to publish the module via Drone pipeline. .INPUTS [None] No pipeline input. .OUTPUTS [None] No pipeline output. .EXAMPLE Invoke-Publish #> [CmdletBinding()] [Diagnostics.CodeAnalysis.SuppressMessageAttribute( 'PSUseConsistentWhitespace', '', Justification = 'Hashtable bug in ScriptAnalyzer 1.19.1' )] param () process { $Repo = Get-RepoPath $ExpandParams = @{ Path = $Repo.Bin.ArtifactPath DestinationPath = $Repo.Bin.ExpandPath Force = $true ErrorAction = 'Stop' Verbose = $VerbosePreference } Expand-Archive @ExpandParams $PublishParams = @{ Repository = 'Nexus' Path = $Repo.Bin.ExpandPath NuGetApiKey = $Env:NexusToken Verbose = $VerbosePreference ErrorAction = 'Stop' } Publish-Module @PublishParams } }