Поделиться через


галерея PowerShell восходящий источник

Включение восходящих источников для веб-канала расширяет доступ разработчиков к пакетам из общедоступных реестров. В этой статье вы узнаете, как настроить галерею PowerShell в качестве внешнего источника и использовать пакеты PowerShell из общедоступного реестра.

Предварительные условия

Если внешний источник PowerShell Gallery по умолчанию недоступен в вашем канале, его можно добавить следующим образом:

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите Артефакты и выберите ваш канал в раскрывающемся меню.

  3. Нажмите кнопку значок шестеренки, чтобы перейти к параметрам ленты.

  4. Выберите Вышестоящие источники, а затем Добавить вышестоящий.

    Снимок экрана, показывающий, как добавить новый внешний источник.

  5. Выберите общедоступный источник, а затем выберите PowerShell Gallery из раскрывающегося меню. Нажмите кнопку "Добавить" после завершения.

    Снимок экрана, показывающий, как добавить коллекцию PowerShell в качестве вышестоящего источника.

  6. Нажмите кнопку "Сохранить " в правом верхнем углу, чтобы сохранить изменения. Нажмите кнопку "Сохранить снова", если появится запрос на подтверждение выбора.

Подключиться к ленте

  1. Создайте персональный токен доступа с упаковка>правами на чтение и запись.

  2. Выполните следующие команды в окне командной строки PowerShell, заменив заполнители соответствующими сведениями:

    $patToken = "<YOUR_PERSONAL_ACCESS_TOKEN>" | ConvertTo-SecureString -AsPlainText -Force
    
    $myCredentialsObject = New-Object System.Management.Automation.PSCredential("<USER_NAME>", $patToken)
    
  3. Выполните следующую команду, чтобы зарегистрировать свой канал в качестве 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, выбрав соответствующий источник из раскрывающегося меню.

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите Артефакты, и затем выберите ваш веб-канал в раскрывающемся меню.

  3. Выберите Source справа, а затем выберите PowerShell Gallery, чтобы отфильтровать пакеты, сохранённые из вышестоящих источников. Вы можете увидеть, что пакет PSScriptAnalyzer, установленный на предыдущем шаге, был сохранен в нашем хранилище.

    Снимок экрана, показывающий пакеты, сохраненные из исходного потока в канале Azure Artifacts.