Często zadawane pytania — Azure Container Registry

W tym artykule opisano często zadawane pytania i znane problemy dotyczące usługi Azure Container Registry.

Aby uzyskać wskazówki dotyczące rozwiązywania problemów z rejestrem, zobacz:

Zarządzanie zasobami

Czy mogę utworzyć usługę Azure Container Registry przy użyciu szablonu usługi Resource Manager?

Tak. Oto szablon, którego można użyć do utworzenia rejestru.

Czy istnieje skanowanie luk w zabezpieczeniach dla obrazów w usłudze ACR?

Tak. Zapoznaj się z dokumentacją z Microsoft Defender dla Chmury, Twistlock i Aqua.

Jak mogę skonfigurować platformę Kubernetes za pomocą usługi Azure Container Registry?

Zapoznaj się z dokumentacją platformy Kubernetes i instrukcjami dotyczącymi usługi Azure Kubernetes Service.

Jak mogę uzyskać poświadczenia administratora dla rejestru kontenerów?

Ważne

Konto użytkownika administratora jest przeznaczone dla jednego użytkownika w celu uzyskania dostępu do rejestru, głównie do celów testowych. Nie zalecamy udostępniania poświadczeń konta administratora wielu użytkownikom. Indywidualna tożsamość jest zalecana dla użytkowników i jednostek usługi w scenariuszach bezgłowych. Zobacz Omówienie uwierzytelniania.

Przed uzyskaniem poświadczeń administratora upewnij się, że administrator rejestru jest włączony.

Aby uzyskać poświadczenia przy użyciu interfejsu wiersza polecenia platformy Azure:

az acr credential show -n myRegistry

Korzystanie z programu Azure PowerShell:

Invoke-AzureRmResourceAction -Action listCredentials -ResourceType Microsoft.ContainerRegistry/registries -ResourceGroupName myResourceGroup -ResourceName myRegistry

Jak mogę uzyskać poświadczenia administratora w szablonie usługi Resource Manager?

Ważne

Konto użytkownika administratora jest przeznaczone dla jednego użytkownika w celu uzyskania dostępu do rejestru, głównie do celów testowych. Nie zalecamy udostępniania poświadczeń konta administratora wielu użytkownikom. Indywidualna tożsamość jest zalecana dla użytkowników i jednostek usługi w scenariuszach bezgłowych. Zobacz Omówienie uwierzytelniania.

Przed uzyskaniem poświadczeń administratora upewnij się, że administrator rejestru jest włączony.

Aby uzyskać pierwsze hasło:

{
    "password": "[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', 'myRegistry'), '2017-10-01').passwords[0].value]"
}

Aby uzyskać drugie hasło:

{
    "password": "[listCredentials(resourceId('Microsoft.ContainerRegistry/registries', 'myRegistry'), '2017-10-01').passwords[1].value]"
}

Usuwanie replikacji kończy się niepowodzeniem ze stanem Zabronione, chociaż replikacja zostanie usunięta przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell

Błąd jest wyświetlany, gdy użytkownik ma uprawnienia do rejestru, ale nie ma uprawnień na poziomie czytelnika w subskrypcji. Aby rozwiązać ten problem, przypisz użytkownikowi uprawnienia czytelnika do subskrypcji:

az role assignment create --role "Reader" --assignee user@contoso.com --scope /subscriptions/<subscription_id> 

Reguły zapory są aktualizowane pomyślnie, ale nie zaczynają obowiązywać

Propagacja zmian reguł zapory zajmuje trochę czasu. Po zmianie ustawień zapory poczekaj kilka minut przed zweryfikowaniem tej zmiany.

Operacje rejestru

Jak mogę uzyskać dostęp do interfejsu API HTTP rejestru platformy Docker w wersji 2?

Usługa ACR obsługuje interfejs API HTTP rejestru platformy Docker w wersji 2. Dostęp do interfejsów API można uzyskać pod adresem https://<your registry login server>/v2/. Przykład: https://mycontainerregistry.azurecr.io/v2/

Jak mogę usunąć wszystkie manifesty, do których nie odwołuje się żaden tag w repozytorium?

Jeśli korzystasz z powłoki Bash:

az acr manifest list-metadata --name myRepository --registry myRegistry --query "[?tags[0]==null].digest" --output tsv  | xargs -I% az acr repository delete --name myRegistry ---image myRepository@%

W PowerShell:

az acr manifest list-metadata --name myRepository --repository myRegistry --query "[?tags[0]==null].digest" --output tsv | %{ az acr repository delete --name myRegistry --image myRepository@$_ }

Uwaga

Aby pominąć potwierdzenie, możesz dodać -y polecenie delete.

Aby uzyskać więcej informacji, zobacz Usuwanie obrazów kontenerów w usłudze Azure Container Registry.

Dlaczego użycie limitu przydziału rejestru nie zmniejsza się po usunięciu obrazów?

Taka sytuacja może wystąpić, jeśli warstwy bazowe są nadal przywoływane przez inne obrazy kontenerów. Jeśli usuniesz obraz bez odwołań, użycie rejestru zostanie zaktualizowane w ciągu kilku minut.

Jak mogę zweryfikować zmiany limitu przydziału magazynu?

Utwórz obraz z warstwą 1 GB przy użyciu następującego pliku platformy Docker. Dzięki temu obraz ma warstwę, która nie jest współużytkowany przez żaden inny obraz w rejestrze.

FROM alpine
RUN dd if=/dev/urandom of=1GB.bin  bs=32M  count=32
RUN ls -lh 1GB.bin

Skompiluj i wypchnij obraz do rejestru przy użyciu interfejsu wiersza polecenia platformy Docker.

docker build -t myregistry.azurecr.io/1gb:latest .
docker push myregistry.azurecr.io/1gb:latest

Powinno być widoczne, że użycie magazynu zwiększyło się w witrynie Azure Portal lub można wykonywać zapytania dotyczące użycia przy użyciu interfejsu wiersza polecenia.

az acr show-usage -n myregistry

Usuń obraz przy użyciu interfejsu wiersza polecenia platformy Azure lub portalu i sprawdź zaktualizowane użycie w ciągu kilku minut.

az acr repository delete -n myregistry --image 1gb

Jak mogę uwierzytelnić się w rejestrze podczas uruchamiania interfejsu wiersza polecenia w kontenerze?

Należy uruchomić kontener interfejsu wiersza polecenia platformy Azure, instalowania gniazda platformy Docker:

docker run -it -v /var/run/docker.sock:/var/run/docker.sock azuresdk/azure-cli-python:dev

W kontenerze zainstaluj polecenie docker:

apk --update add docker

Następnie uwierzytelnij się w rejestrze:

az acr login -n MyRegistry

Jak włączyć protokół TLS 1.2?

Włącz protokół TLS 1.2 przy użyciu dowolnego ostatniego klienta platformy Docker (wersja 18.03.0 lub nowsza).

Ważne

Od 13 stycznia 2020 r. usługa Azure Container Registry będzie wymagać wszystkich bezpiecznych połączeń z serwerów i aplikacji do korzystania z protokołu TLS 1.2. Obsługa protokołów TLS 1.0 i 1.1 zostanie wycofana.

Czy usługa Azure Container Registry obsługuje funkcję zaufania do kontenera?

Tak, możesz użyć zaufanych obrazów w usłudze Azure Container Registry, ponieważ notariusz platformy Docker został zintegrowany i można go włączyć. Aby uzyskać szczegółowe informacje, zobacz Zaufanie do zawartości w usłudze Azure Container Registry.

Gdzie znajduje się plik odcisku palca?

W obszarze ~/.docker/trust/tuf/myregistry.azurecr.io/myrepository/metadata:

  • Klucze publiczne i certyfikaty wszystkich ról (z wyjątkiem ról delegowania) są przechowywane w obiekcie root.json.
  • Klucze publiczne i certyfikaty roli delegowania są przechowywane w pliku JSON roli nadrzędnej (na przykład targets.json roli targets/releases ).

Zaleca się zweryfikowanie tych kluczy publicznych i certyfikatów po ogólnej weryfikacji TUF wykonanej przez klienta Platformy Docker i Notary.

Jak mogę udzielić dostępu do ściągania lub wypychania obrazów bez uprawnień do zarządzania zasobem rejestru?

Usługa ACR obsługuje role niestandardowe, które zapewniają różne poziomy uprawnień. W szczególności AcrPull role i AcrPush umożliwiają użytkownikom ściąganie i/lub wypychanie obrazów bez uprawnień do zarządzania zasobem rejestru na platformie Azure.

  • Witryna Azure Portal: Rejestr —> Kontrola dostępu (zarządzanie dostępem i tożsamościami) —> dodaj (wybierz AcrPull lub AcrPush jako rolę).

  • Interfejs wiersza polecenia platformy Azure: Znajdź identyfikator zasobu rejestru, uruchamiając następujące polecenie:

    az acr show -n myRegistry
    

    Następnie możesz przypisać użytkownikowi AcrPull rolę lub AcrPush (w poniższym przykładzie użyto AcrPull):

    az role assignment create --scope resource_id --role AcrPull --assignee user@example.com
    

    Możesz też przypisać rolę do jednostki usługi zidentyfikowanej przez jej identyfikator aplikacji:

    az role assignment create --scope resource_id --role AcrPull --assignee 00000000-0000-0000-0000-000000000000
    

Następnie osoba przypisana może uwierzytelniać obrazy w rejestrze i uzyskiwać do niego dostęp.

  • Aby uwierzytelnić się w rejestrze:

    az acr login -n myRegistry 
    
  • Aby wyświetlić listę repozytoriów:

    az acr repository list -n myRegistry
    
  • Aby ściągnąć obraz:

    docker pull myregistry.azurecr.io/hello-world
    

W przypadku używania tylko AcrPull roli lub AcrPush przypisanie nie ma uprawnień do zarządzania zasobem rejestru na platformie Azure. Na przykład az acr list lub az acr show -n myRegistry nie pokaże rejestru.

Jak mogę włączyć automatyczną kwarantannę obrazu dla rejestru?

Kwarantanna obrazów jest obecnie funkcją usługi ACR w wersji zapoznawczej. Tryb kwarantanny rejestru można włączyć tak, aby tylko te obrazy, które pomyślnie przeszły skanowanie zabezpieczeń, były widoczne dla zwykłych użytkowników. Aby uzyskać szczegółowe informacje, zobacz repozytorium GitHub usługi ACR.

Jak mogę włączyć anonimowy dostęp do ściągania?

Aby uzyskać więcej informacji, zobacz Udostępnianie zawartości rejestru publicznie.

Jak mogę wypchnąć warstwy niedystrybucyjne do rejestru?

Warstwa niedystrybucyjna w manifeście zawiera parametr adresu URL, z którego można pobrać zawartość. Niektóre możliwe przypadki użycia włączania wypychania warstw bez dystrybucji są przeznaczone dla rejestrów z ograniczeniami sieci, rejestrów z ograniczonym dostępem lub rejestrów bez łączności z Internetem.

Jeśli na przykład masz skonfigurowane reguły sieciowej grupy zabezpieczeń, aby maszyna wirtualna mogła ściągać obrazy tylko z rejestru kontenerów platformy Azure, platforma Docker będzie ściągnąć błędy dla warstw obcych/niedystrybucyjnych. Na przykład obraz systemu Windows Server Core będzie zawierać odwołania do obcej warstwy do rejestru kontenerów platformy Azure w manifeście i nie może ściągnąć tego scenariusza.

Aby włączyć wypychanie warstw niedystrybucyjnych:

  1. daemon.json Edytuj plik, który znajduje się na /etc/docker/ hostach systemu Linux i w C:\ProgramData\docker\config\daemon.json systemie Windows Server. Zakładając, że plik był wcześniej pusty, dodaj następującą zawartość:

    {
      "allow-nondistributable-artifacts": ["myregistry.azurecr.io"]
    }
    

    Uwaga

    Wartość jest tablicą adresów rejestru rozdzielonych przecinkami.

  2. Zapisz i zamknij plik.

  3. Uruchom ponownie platformę Docker.

Gdy wypchniesz obrazy do rejestrów na liście, ich warstwy niedystrybucyjne są wypychane do rejestru.

Ostrzeżenie

Artefakty niedystrybucyjne zwykle mają ograniczenia dotyczące sposobu ich dystrybucji i udostępniania. Ta funkcja służy tylko do wypychania artefaktów do prywatnych rejestrów. Upewnij się, że są zgodne z dowolnymi terminami, które obejmują redystrybucję artefaktów niedystrybucyjnych.

Diagnostyka i kontrole kondycji

Sprawdzanie kondycji za pomocą polecenia "az acr check-health"

Aby rozwiązać typowe problemy ze środowiskiem i rejestrem, zobacz Sprawdzanie kondycji rejestru kontenerów platformy Azure.

Ściąganie platformy Docker kończy się niepowodzeniem z powodu błędu: net/http: żądanie anulowane podczas oczekiwania na połączenie (przekroczono limit czasu klienta podczas oczekiwania na nagłówki)

  • Jeśli ten błąd jest przejściowym problemem, ponawianie próby powiedzie się.
  • W przypadku docker pull ciągłego niepowodzenia może wystąpić problem z demonem platformy Docker. Problem można ogólnie rozwiązać, uruchamiając ponownie demona platformy Docker.
  • Jeśli ten problem będzie nadal występować po ponownym uruchomieniu demona platformy Docker, problem może dotyczyć niektórych problemów z łącznością sieciową z maszyną. Aby sprawdzić, czy ogólna sieć na maszynie jest w dobrej kondycji, uruchom następujące polecenie, aby przetestować łączność punktu końcowego. Minimalna az acr wersja zawierająca to polecenie sprawdzania łączności to 2.2.9. Uaktualnij interfejs wiersza polecenia platformy Azure, jeśli używasz starszej wersji.
az acr check-health -n myRegistry
  • Zawsze należy mieć mechanizm ponawiania prób dla wszystkich operacji klienta platformy Docker.

Ściąganie platformy Docker działa wolno

Użyj narzędzia speed, aby przetestować szybkość pobierania sieci maszyny. Jeśli sieć maszyny jest niska, rozważ użycie maszyny wirtualnej platformy Azure w tym samym regionie co rejestr w celu zwiększenia szybkości sieci.

Wypychanie platformy Docker działa wolno

Użyj narzędzia speed, aby przetestować szybkość przekazywania sieci maszyny. Jeśli sieć maszyny jest niska, rozważ użycie maszyny wirtualnej platformy Azure w tym samym regionie co rejestr w celu zwiększenia szybkości sieci.

Wypychanie platformy Docker kończy się pomyślnie, ale ściąganie platformy Docker kończy się niepowodzeniem z powodu błędu: brak autoryzacji: wymagane jest uwierzytelnienie

Ten błąd może wystąpić w przypadku wersji Red Hat demona platformy Docker, gdzie --signature-verification jest domyślnie włączona. Możesz sprawdzić opcje demona platformy Docker dla systemu Red Hat Enterprise Linux (RHEL) lub Fedora, uruchamiając następujące polecenie:

grep OPTIONS /etc/sysconfig/docker

Na przykład serwer Fedora 28 ma następujące opcje demona platformy Docker:

OPTIONS='--selinux-enabled --log-driver=journald --live-restore'

W przypadku --signature-verification=false braku błędu docker pull występuje błąd podobny do następującego:

Trying to pull repository myregistry.azurecr.io/myimage ...
unauthorized: authentication required

Aby naprawić ten błąd:

  1. Dodaj opcję --signature-verification=false do pliku /etc/sysconfig/dockerkonfiguracji demona platformy Docker . Na przykład:

    OPTIONS='--selinux-enabled --log-driver=journald --live-restore --signature-verification=false'

  2. Uruchom ponownie usługę demona platformy Docker, uruchamiając następujące polecenie:

    sudo systemctl restart docker.service
    

--signature-verification Szczegółowe informacje można znaleźć, uruchamiając polecenie man dockerd.

polecenie az acr login powiedzie się, ale platforma Docker kończy się niepowodzeniem z powodu błędu: brak autoryzacji: wymagane jest uwierzytelnienie

Upewnij się, że używasz adresu URL serwera z małą literą, na przykład , docker push myregistry.azurecr.io/myimage:latestnawet jeśli nazwa zasobu rejestru jest wielką literą lub literą mieszaną, na przykład myRegistry.

Włączanie i pobieranie dzienników debugowania demona platformy Docker

debug Zacznij od dockerd opcji . Najpierw utwórz plik konfiguracji demona platformy Docker (/etc/docker/daemon.json), jeśli nie istnieje, i dodaj debug opcję:

{    
    "debug": true    
}

Następnie uruchom ponownie demona. Na przykład w systemie Ubuntu 14.04:

sudo service docker restart

Szczegółowe informacje można znaleźć w dokumentacji platformy Docker.

  • Dzienniki mogą być generowane w różnych lokalizacjach w zależności od systemu. Na przykład w systemie Ubuntu 14.04 jest /var/log/upstart/docker.logto .
    Aby uzyskać szczegółowe informacje, zobacz dokumentację platformy Docker.

  • W przypadku platformy Docker dla systemu Windows dzienniki są generowane w obszarze %LOCALAPPDATA%/docker/. Może jednak nie zawierać jeszcze wszystkich informacji o debugowaniu.

    Aby uzyskać dostęp do pełnego dziennika demona, może być konieczne wykonanie dodatkowych kroków:

    docker run --privileged -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/bin/docker:/usr/local/bin/docker alpine sh
    
    docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh
    chroot /host
    

    Teraz masz dostęp do wszystkich plików maszyny wirtualnej z systemem dockerd. Dziennik znajduje się pod adresem /var/log/docker.log.

Nowe uprawnienia użytkownika mogą nie być skuteczne natychmiast po zaktualizowaniu

Gdy przyznasz nowe uprawnienia (nowe role) jednostce usługi, zmiana może nie obowiązywać natychmiast. Istnieją dwa możliwe przyczyny:

  • Opóźnienie przypisania roli w usłudze Microsoft Entra. Zwykle jest to szybkie, ale może upłynąć kilka minut z powodu opóźnienia propagacji.

  • Opóźnienie uprawnień na serwerze tokenów usługi ACR może potrwać do 10 minut. Aby rozwiązać ten problem, możesz i ponownie uwierzytelnić docker logout się przy użyciu tego samego użytkownika po 1 minucie:

    docker logout myregistry.azurecr.io
    docker login myregistry.azurecr.io
    

Obecnie usługa ACR nie obsługuje usuwania replikacji macierzystej przez użytkowników. Obejściem jest dołączenie do szablonu tworzenia replikacji głównej, ale pominięcie jego tworzenia przez dodanie "condition": false , jak pokazano poniżej:

{
    "name": "[concat(parameters('acrName'), '/', parameters('location'))]",
    "condition": false,
    "type": "Microsoft.ContainerRegistry/registries/replications",
    "apiVersion": "2017-10-01",
    "location": "[parameters('location')]",
    "properties": {},
    "dependsOn": [
        "[concat('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
     ]
},

Informacje o uwierzytelnianiu nie są podane w poprawnym formacie w przypadku bezpośrednich wywołań interfejsu API REST

Może wystąpić InvalidAuthenticationInfo błąd, szczególnie przy użyciu curl narzędzia z opcją -L, --location (aby postępować zgodnie z przekierowaniami). Na przykład pobieranie obiektu blob przy użyciu curl-L opcji i uwierzytelniania podstawowego:

curl -L -H "Authorization: basic $credential" https://$registry.azurecr.io/v2/$repository/blobs/$digest

może spowodować następującą odpowiedź:

<?xml version="1.0" encoding="utf-8"?>
<Error><Code>InvalidAuthenticationInfo</Code><Message>Authentication information is not given in the correct format. Check the value of Authorization header.
RequestId:00000000-0000-0000-0000-000000000000
Time:2019-01-01T00:00:00.0000000Z</Message></Error>

Główną przyczyną jest to, że niektóre curl implementacje są zgodne z przekierowaniami z nagłówkami z oryginalnego żądania.

Aby rozwiązać ten problem, należy wykonać przekierowania ręcznie bez nagłówków. Wydrukuj nagłówki odpowiedzi z opcją -D -curl , a następnie wyodrębnij: Location nagłówek:

REDIRECT_URL=$(curl -s -D - -H "Authorization: basic $credential" https://$registry.azurecr.io/v2/$repository/blobs/$digest | grep "^Location: " | cut -d " " -f2 | tr -d '\r')
curl $REDIRECT_URL

Dlaczego witryna Azure Portal nie wyświetla listy wszystkich moich repozytoriów lub tagów?

Jeśli używasz przeglądarki Microsoft Edge/IE, możesz zobaczyć co najwyżej 100 repozytoriów lub tagów. Jeśli rejestr zawiera więcej niż 100 repozytoriów lub tagów, zalecamy użycie przeglądarki Firefox lub Chrome, aby wyświetlić je wszystkie.

Dlaczego witryna Azure Portal nie może pobrać repozytoriów lub tagów?

Przeglądarka może nie być w stanie wysłać żądania pobierania repozytoriów lub tagów na serwer. Mogą istnieć różne przyczyny, takie jak:

  • Brak łączności sieciowej
  • Firewall
  • Korzystanie z portalu z sieci publicznej dla rejestru, który zezwala tylko na dostęp prywatny
  • Blokady reklam
  • Błędy DNS

Skontaktuj się z administratorem sieci lub sprawdź konfigurację sieci i łączność. Spróbuj uruchomić az acr check-health -n yourRegistry polecenie przy użyciu interfejsu wiersza polecenia platformy Azure, aby sprawdzić, czy środowisko może nawiązać połączenie z usługą Container Registry. Ponadto możesz również wypróbować sesję incognito lub prywatną w przeglądarce, aby uniknąć nieaktualnej pamięci podręcznej lub plików cookie przeglądarki.

Dlaczego moje żądanie ściągnięcia lub wypychania kończy się niepowodzeniem z niedozwoloną operacją?

Poniżej przedstawiono niektóre scenariusze, w których operacje mogą być niedozwolone:

  • Rejestry klasyczne nie są już obsługiwane. Przeprowadź uaktualnienie do obsługiwanej warstwy usługi przy użyciu polecenia az acr update lub witryny Azure Portal.
  • Obraz lub repozytorium może być zablokowany, aby nie można było go usunąć ani zaktualizować. Aby wyświetlić bieżące atrybuty, możesz użyć polecenia az acr repository show .
  • Niektóre operacje są niedozwolone, jeśli obraz znajduje się w kwarantannie. Dowiedz się więcej o kwarantannie.
  • Rejestr mógł osiągnąć limit magazynu.

Format repozytorium jest nieprawidłowy lub nieobsługiwany

Jeśli podczas określania nazwy repozytorium w operacjach repozytorium zostanie wyświetlony błąd, taki jak "nieobsługiwany format", "nieprawidłowy format" lub "żądane dane nie istnieją" podczas określania nazwy repozytorium w operacjach repozytorium, sprawdź pisownię i wielkość liter nazwy. Prawidłowe nazwy repozytorium mogą zawierać tylko małe litery alfanumeryczne, kropki, kreski, podkreślenia i ukośniki.

Jak mogę zbierać ślady http w systemie Windows?

Wymagania wstępne

Kontenery systemu Windows

Konfigurowanie serwera proxy platformy Docker na 127.0.0.1:8888

Kontenery systemu Linux

Znajdź adres IP przełącznika wirtualnego maszyny wirtualnej platformy Docker:

(Get-NetIPAddress -InterfaceAlias "*Docker*" -AddressFamily IPv4).IPAddress

Skonfiguruj serwer proxy platformy Docker pod kątem danych wyjściowych poprzedniego polecenia i portu 8888 (na przykład 10.0.75.1:8888)

Zadania

Jak mogę przebiegi anulowania wsadowego?

Następujące polecenia anulują wszystkie uruchomione zadania w określonym rejestrze.

az acr task list-runs -r $myregistry --run-status Running --query '[].runId' -o tsv \
| xargs -I% az acr task cancel-run -r $myregistry --run-id %

Jak mogę dołączyć folder .git w poleceniu az acr build?

W przypadku przekazania lokalnego folderu źródłowego do az acr build polecenia .git folder zostanie domyślnie wykluczony z przekazanego pakietu. Plik można utworzyć .dockerignore przy użyciu następującego ustawienia. Polecenie nakazuje przywrócenie wszystkich plików w .git przekazanym pakiecie.

!.git/**

To ustawienie dotyczy az acr run również polecenia .

Czy zadania obsługują narzędzie GitLab dla wyzwalaczy źródłowych?

Obecnie nie obsługujemy narzędzia GitLab dla wyzwalaczy źródłowych.

Jaka usługa zarządzania repozytorium git obsługuje zadania?

Usługa Git Kontekst źródłowy Kompilacja ręczna Automatyczne kompilowanie za pomocą wyzwalacza zatwierdzania
GitHub https://github.com/user/myapp-repo.git#mybranch:myfolder Tak Tak
Azure Repos https://dev.azure.com/user/myproject/_git/myapp-repo#mybranch:myfolder Tak Tak
GitLab https://gitlab.com/user/myapp-repo.git#mybranch:myfolder Tak Nie.
BitBucket https://user@bitbucket.org/user/mayapp-repo.git#mybranch:myfolder Tak Nie.

Rozwiązywanie problemów z komunikatem o błędzie przebiegu

Komunikat o błędzie Przewodnik po rozwiązywaniu problemów
Nie skonfigurowano dostępu dla maszyny wirtualnej, dlatego nie znaleziono żadnych subskrypcji Może się to zdarzyć, jeśli używasz az login --identity w zadaniu usługi ACR. Jest to błąd przejściowy i występuje, gdy przypisanie roli tożsamości zarządzanej nie zostało rozpropagowane. Oczekiwanie na kilka sekund przed ponowieniu próby działa.

Ciągła integracja/ciągłe wdrażanie

Jak rozwiązać problem z niepowodzeniem tworzenia puli agentów z powodu problemów z przekroczeniem limitu czasu?

Skonfiguruj prawidłowe reguły zapory dla istniejących sieciowych grup zabezpieczeń lub tras zdefiniowanych przez użytkownika. Po zakończeniu instalacji zaczekaj kilka minut na zastosowanie reguł zapory.

Jak włączyć wbudowane zasady platformy Azure dla bloków usługi ACR umożliwiające poświadczenia administratora?

Następujące wbudowane zasady platformy Azure po ustawieniu odpowiedniego stanu zasad uniemożliwią użytkownikowi włączenie użytkownika administratora w rejestrze.

Wbudowane zasady platformy Azure Stan zasad Stan administracyjny
Skonfiguruj rejestry kontenerów, aby wyłączyć konto administratora lokalnego. Modyfikowanie Wyłącz
Rejestry kontenerów powinny mieć wyłączone konto administratora lokalnego. Zablokuj Wyłącz
Rejestry kontenerów powinny mieć wyłączone konto administratora lokalnego. Audit niezgodne

Następne kroki