галерея PowerShell восходящий источник
Включение восходящих источников для веб-канала расширяет доступ разработчиков к пакетам из общедоступных реестров. В этой статье вы узнаете, как настроить галерею PowerShell в качестве внешнего источника и использовать пакеты PowerShell из общедоступного реестра.
Предварительные условия
- NuGet.exe
- Поставщик учетных данных Azure Artifacts
- Организация Azure DevOps и проект. Создайте организацию или проект, если вы еще не сделали этого.
- Канал артефактов Azure. Создайте ленту, если у вас еще нет.
Добавление источника верхнего уровня для галереи PowerShell
Если внешний источник PowerShell Gallery по умолчанию недоступен в вашем канале, его можно добавить следующим образом:
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите Артефакты и выберите ваш канал в раскрывающемся меню.
Нажмите кнопку
, чтобы перейти к параметрам ленты.
Выберите Вышестоящие источники, а затем Добавить вышестоящий.
Выберите общедоступный источник, а затем выберите PowerShell Gallery из раскрывающегося меню. Нажмите кнопку "Добавить" после завершения.
Нажмите кнопку "Сохранить " в правом верхнем углу, чтобы сохранить изменения. Нажмите кнопку "Сохранить снова", если появится запрос на подтверждение выбора.
Подключиться к ленте
Создайте персональный токен доступа с упаковка>правами на чтение и запись.
Выполните следующие команды в окне командной строки PowerShell, заменив заполнители соответствующими сведениями:
$patToken = "<YOUR_PERSONAL_ACCESS_TOKEN>" | ConvertTo-SecureString -AsPlainText -Force
$myCredentialsObject = New-Object System.Management.Automation.PSCredential("<USER_NAME>", $patToken)
Выполните следующую команду, чтобы зарегистрировать свой канал в качестве PSRepository. Замените заполнители соответствующими значениями:
Веб-канал с областью действия проекта:
Register-PSRepository -Name "PSGalleryUpstream" -SourceLocation "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2" -PublishLocation "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2" -InstallationPolicy Trusted -Credential $myCredentialsObject
Веб-канал с областью действия организации:
Register-PSRepository -Name "PSGalleryUpstream" -SourceLocation "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2" -PublishLocation "https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2" -InstallationPolicy Trusted -Credential $myCredentialsObject
Сохранение пакетов из вышестоящего потока
Теперь, когда вы добавили коллекцию PowerShell в качестве вышестоящего источника и зарегистрировали ваш канал в качестве PSRepository, при каждой установке пакета из вышестоящего источника копия будет сохранена в вашем канале. В следующем примере мы установим модуль PSScriptAnalyzer :
Install-Module -Name PSScriptAnalyzer -Repository PSGalleryUpstream
Примечание.
Чтобы сохранять пакеты из внешних источников, необходимо иметь роль "Читатель каналов и внешних источников (Сотрудник)" или выше. Дополнительные сведения см. в разделе "Управление разрешениями ".
Просмотр сохраненных пакетов
Вы можете получить доступ к пакетам, сохраненным из коллекция PowerShell, выбрав соответствующий источник из раскрывающегося меню.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите Артефакты, и затем выберите ваш веб-канал в раскрывающемся меню.
Выберите Source справа, а затем выберите PowerShell Gallery, чтобы отфильтровать пакеты, сохранённые из вышестоящих источников. Вы можете увидеть, что пакет PSScriptAnalyzer, установленный на предыдущем шаге, был сохранен в нашем хранилище.