Udostępnij za pomocą


Korzystanie z repozytoriów usługi ACR z narzędziem PSResourceGet

Azure Container Registry (ACR) umożliwia tworzenie i przechowywanie obrazów kontenerów i artefaktów oraz zarządzanie nimi w rejestrze prywatnym dla wszystkich typów wdrożeń kontenerów. Wersja 1.1.1 modułu Microsoft.PowerShell.PSResourceGet dodaje obsługę rejestrów kontenerów platformy Azure jako repozytorium PSResource. Aby uzyskać więcej informacji na temat rejestrów kontenerów platformy Azure, zobacz Zarządzane rejestry kontenerów.

Wymagania wstępne

Aby utworzyć repozytorium usługi ACR, musisz mieć:

  • Az PowerShell lub Az CLI
  • Wystarczające prawa w ramach subskrypcji platformy Azure, aby utworzyć repozytorium usługi ACR.

Aby użyć repozytorium ACR z programem PSResourceGet, musisz mieć:

  • Wersja 1.1.1 modułu Microsoft.PowerShell.PSResourceGet
  • Konto platformy Azure z uprawnieniami niezbędnymi do uzyskania dostępu do repozytorium usługi ACR. Repozytoria oparte na usłudze ACR są repozytoriami prywatnymi i wymagają poświadczeń w celu uzyskania dostępu. Użytkownicy repozytorium muszą mieć niezbędne uprawnienia, aby uzyskać dostęp do repozytorium. Użytkownik musi mieć ACRPull uprawnienia do pobierania zasobów i ACRPush uprawnienia do publikowania zasobów. Aby uzyskać więcej informacji, zobacz Role i uprawnienia rejestru.

Instalowanie modułu PSResourceGet

Aby korzystać z repozytorium usługi ACR, należy zainstalować najnowszą wersję modułu Microsoft.PowerShell.PSResourceGet z Galeria programu PowerShell.

Jeśli masz zainstalowaną poprzednią wersję Microsoft.PowerShell.PSResourceGet , użyj następującego polecenia, aby zainstalować najnowszą wersję.

$installPSResourceSplat = @{
    Repository = 'PSGallery'
    Name = 'Microsoft.PowerShell.PSResourceGet'
}
Install-PSResource @installPSResourceSplat

Za pomocą poniższego polecenia można również zainstalować moduł przy użyciu programu PowerShellGet.

$installModuleSplat = @{
    Repository = 'PSGallery'
    Name = 'Microsoft.PowerShell.PSResourceGet'
}
Install-Module @installModuleSplat

Tworzenie usługi Azure Container Registry

W tym przykładzie utworzysz rejestr podstawowy , który jest opcją zoptymalizowaną pod kątem kosztów dla deweloperów. Możesz wybrać inną warstwę w zależności od wymagań dotyczących przepływności magazynu i obrazów. Aby uzyskać szczegółowe informacje na temat dostępnych warstw usług (SKU), zobacz Warstwy usług rejestru kontenerów.

# Sign into your Azure account (if necessary)
Connect-AzAccount
# Create a resource group (if necessary)
New-AzResourceGroup -Name myResourceGroup -Location EastUS
# Create a container registry
$newAzContainerRegistrySplat = @{
    ResourceGroupName = 'myResourceGroup'
    Name = 'psresourcedemo'
    EnableAdminUser = $true
    Sku = 'Basic'
}
$registry = New-AzContainerRegistry @newAzContainerRegistrySplat

Polecenia platformy Azure można uruchamiać w usłudze Azure Cloud Shell lub z dowolnego komputera z zainstalowanym programem Azure PowerShell.

Rejestrowanie repozytorium

Aby zarejestrować repozytorium usługi ACR, musisz znać nazwę serwera logowania usługi ACR. Użyj następujących poleceń, aby zarejestrować repozytorium usługi ACR jako repozytorium PSResource.

$myAcr = Get-AzContainerRegistry -Name myAcr
$acrUrl = "https://$($myAcr.LoginServer)"
Register-PSResourceRepository -Name ACRDemoRepo -Uri $acrUrl

Uwierzytelnianie

Zarejestrowanie repozytorium PSResource nie wymaga żadnych poświadczeń. Jednak przy pierwszym uruchomieniu operacji w zarejestrowanym repozytorium zostanie wyświetlony monit o zalogowanie się. Jeśli nie jesteś jeszcze uwierzytelniony, zostanie wyświetlony monit o uwierzytelnienie przy pierwszym wykonywaniu operacji w repozytorium.

Aby uwierzytelnić się przed uzyskaniem dostępu do repozytorium, użyj Connect-AzAccount polecenia. Aby uzyskać więcej informacji, zobacz Connect-AzAccount (Az.Accounts).

Po uwierzytelnieniu możesz korzystać z repozytorium interaktywnie lub w potoku. Monit o ponowne uwierzytelnienie nie zostanie wyświetlony do momentu wygaśnięcia tokenu dostępu.

Interakcyjne korzystanie z repozytorium usługi ACR

Interakcyjne korzystanie z repozytorium usługi ACR jest podobne do korzystania z dowolnego innego repozytorium PSResource. Możesz wyszukiwać, instalować i publikować pakiety.

Publikowanie pakietu

Użyj polecenia, Publish-PSResource aby opublikować pakiet w repozytorium usługi ACR. Wystarczy podać ścieżkę do zasobu i nazwę repozytorium.

$publishPSResourceSplat = @{
    Path = 'D:\MyModule'
    Repository = 'ACRDemoRepo'
}
Publish-PSResource @publishPSResourceSplat

Aby uzyskać więcej informacji, zobacz Publish-PSResource .

Wyszukiwanie pakietów

Użyj polecenia, Find-PSResource aby wyszukać pakiety w repozytorium usługi ACR. Aby uzyskać więcej informacji, zobacz Find-PSResource.

  • Wyszukiwanie według nazwy

    Find-PSResource -Name MyModule -Repository ACRDemoRepo
    
  • Znajdowanie według symbolu wieloznacznego nazwy

    Find-PSResource -Name * -Repository ACRDemoRepo
    Find-PSResource -Name PartialName* -Repository ACRDemoRepo
    
  • Wyszukiwanie według wersji

    Find-PSResource -Name MyModule -Version '3.0.0' -Repository ACRDemoRepo
    
  • Znajdowanie wersji wstępnej

    Find-PSResource -Name MyModule -Version '4.0.0-preview.1' -Repository ACRDemoRepo
    
  • Znajdowanie według wersji z symbolami wieloznacznymi

    Find-PSResource -Name MyModule -Version '*' -Repository ACRDemoRepo
    
  • Wyszukiwanie według zakresu wersji

    W tym przykładzie wyszukiwane są wersje z zakresu od 2.0.0 do 3.0.0 włącznie.

    Find-PSResource -Name MyModule -Version '[2.0.0,3.0.0]' -Repository ACRDemoRepo
    

    Aby uzyskać więcej informacji na temat zakresów wersji, zobacz Dokumentacja wersji pakietu NuGet.

Instalowanie pakietu

Użyj polecenia, Install-PSResource aby zainstalować pakiety z repozytorium usługi ACR. Aby uzyskać więcej informacji, zobacz Install-PSResource.

  • Zainstaluj według nazwy

    Install-PSResource -Name MyModule -Repository ACRDemoRepo
    
  • Zainstaluj według wersji

    Install-PSResource -Name MyModule -Version 3.0.0 -Repository ACRDemoRepo
    

Ograniczenia

Moduł Microsoft.PowerShell.PSResourceGet nie obsługuje następujących scenariuszy dla repozytoriów usługi ACR:

  • Wyszukiwanie według wartości tagu
    • Find-PSResource -Tag TagValue -Repository ACRDemoRepo
  • Znajdź według polecenia
    • Find-PSResource -Command CommandName -Repository ACRDemoRepo
  • Znajdowanie według nazwy zasobu DSC
    • Find-PSResource -DscResourceName ResourceName -Repository ACRDemoRepo