Публикация модуля в PowerShell Gallery
19 Nov 2019
local_offer
powershell
local_offer
Icinga2
Обновляем модуль PowerShellGet
# Перед обновлением PowerShellGet всегда устанавливайте последний поставщик NuGet.
Install-PackageProvider -Name NuGet -Force
# Для систем с PowerShell 5.0 (или более поздней версии) можно установить последнюю версию PowerShellGet
Install-Module -Name PowerShellGet -Force
# Обновляем
Update-Module -Name PowerShellGet
Получаем ключ
Переходим по адресу: https://www.powershellgallery.com/account/apikeys
Регистрируемся если нужно и создаем ключ:
Публикуем наш модуль
Publish-Module -Path "C:\Program Files\WindowsPowerShell\Modules\Icinga2Agent\1.2.4.2" -NuGetApiKey yourapikey
# Publish-Module -Name Icinga2Agent -RequiredVersion 1.2.4.2 -NuGetApiKey yourapikey
Пример манифеста модуля для публикации (Icinga2Agent.psd1
):
#
# Манифест модуля для модуля "Icinga2Agent".
#
# Создано: plsatin
#
# Дата создания: 19.11.2019
#
@{
# Файл модуля сценария или двоичного модуля, связанный с этим манифестом.
RootModule = 'Icinga2Agent.psm1'
# Номер версии данного модуля.
ModuleVersion = '1.2.4.2'
# Поддерживаемые выпуски PSEditions
# CompatiblePSEditions = @()
# Уникальный идентификатор данного модуля
GUID = '39333b7f-d98b-4cc0-ba26-f162a59c2f05'
# Автор данного модуля
Author = 'LordHepipud, Thomas-Gelf, Gammenon, matthenning, plarivee, kevin-olbrich, cstegm'
# Компания, создавшая данный модуль, или его поставщик
CompanyName = 'Icinga'
# Заявление об авторских правах на модуль
Copyright = '(c) 2018 - Icinga Open Source Monitoring'
# Описание функций данного модуля
Description = 'PowerShell helper for Icinga 2 on Windows'
# Минимальный номер версии обработчика Windows PowerShell, необходимой для работы данного модуля
# PowerShellVersion = ''
# Имя узла Windows PowerShell, необходимого для работы данного модуля
# PowerShellHostName = ''
# Минимальный номер версии узла Windows PowerShell, необходимой для работы данного модуля
# PowerShellHostVersion = ''
# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''
# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''
# Архитектура процессора (нет, X86, AMD64), необходимая для этого модуля
# ProcessorArchitecture = ''
# Модули, которые необходимо импортировать в глобальную среду перед импортированием данного модуля
# RequiredModules = @()
# Сборки, которые должны быть загружены перед импортированием данного модуля
# RequiredAssemblies = @()
# Файлы сценария (PS1), которые запускаются в среде вызывающей стороны перед импортом данного модуля.
# ScriptsToProcess = @()
# Файлы типа (.ps1xml), которые загружаются при импорте данного модуля
# TypesToProcess = @()
# Файлы формата (PS1XML-файлы), которые загружаются при импорте данного модуля
# FormatsToProcess = @()
# Модули для импорта в качестве вложенных модулей модуля, указанного в параметре RootModule/ModuleToProcess
# NestedModules = @()
# В целях обеспечения оптимальной производительности функции для экспорта из этого модуля не используют подстановочные знаки и не удаляют запись. Используйте пустой массив, если нет функций для экспорта.
FunctionsToExport = @('Icinga2AgentModule')
# В целях обеспечения оптимальной производительности командлеты для экспорта из этого модуля не используют подстановочные знаки и не удаляют запись. Используйте пустой массив, если нет командлетов для экспорта.
CmdletsToExport = @()
# Переменные для экспорта из данного модуля
VariablesToExport = '*'
# В целях обеспечения оптимальной производительности псевдонимы для экспорта из этого модуля не используют подстановочные знаки и не удаляют запись. Используйте пустой массив, если нет псевдонимов для экспорта.
AliasesToExport = @()
# Ресурсы DSC для экспорта из этого модуля
# DscResourcesToExport = @()
# Список всех модулей, входящих в пакет данного модуля
# ModuleList = @()
# Список всех файлов, входящих в пакет данного модуля
# FileList = @()
# Личные данные для передачи в модуль, указанный в параметре RootModule/ModuleToProcess. Он также может содержать хэш-таблицу PSData с дополнительными метаданными модуля, которые используются в PowerShell.
PrivateData = @{
PSData = @{
# Теги, применимые к этому модулю. Они помогают с обнаружением модуля в онлайн-коллекциях.
Tags = @('Icinga2')
# URL-адрес лицензии для этого модуля.
LicenseUri = 'https://raw.githubusercontent.com/Icinga/icinga2-powershell-module/master/LICENSE'
# URL-адрес главного веб-сайта для этого проекта.
ProjectUri = 'https://github.com/Icinga/icinga2-powershell-module'
# URL-адрес значка, который представляет этот модуль.
IconUri = 'https://www.icinga.com/wp-content/uploads/2016/02/icinga-logo-black.png'
# Заметки о выпуске этого модуля
# ReleaseNotes = ''
} # Конец хэш-таблицы PSData
} # Конец хэш-таблицы PrivateData
# Код URI для HelpInfo данного модуля
# HelpInfoURI = ''
# Префикс по умолчанию для команд, экспортированных из этого модуля. Переопределите префикс по умолчанию с помощью команды Import-Module -Prefix.
# DefaultCommandPrefix = ''
}