Jak zaktualizować datę wygaśnięcia hasła w usłudze Azure DevOps

Dec 22 2020

Podczas uruchamiania projektu UnitTest w potoku kompilacji platformy Azure. Wyskakuje mi błąd:

Restoring NuGet package Microsoft.Portal.TestFramework.UnitTest.6.672.0.5.
  GET https://msazure.pkgs.visualstudio.com/_packaging/ae95f9fe-9452-4aa1-b167-92a7fcfc670f/nuget/v3/flat2/microsoft.portal.testframework.unittest/6.672.0.5/microsoft.portal.testframework.unittest.6.672.0.5.nupkg
  GET https://msazure.pkgs.visualstudio.com/_packaging/d387a8da-063b-4a96-afb8-093924314a98/nuget/v3/flat2/microsoft.portal.testframework.unittest/6.672.0.5/microsoft.portal.testframework.unittest.6.672.0.5.nupkg
  GET https://msazure.pkgs.visualstudio.com/_packaging/ab5b6ade-9b91-4eb5-8dc6-eacc4a5cdda7/nuget/v3/flat2/microsoft.portal.testframework.unittest/6.672.0.5/microsoft.portal.testframework.unittest.6.672.0.5.nupkg
MSBuild auto-detection: using msbuild version '16.8.2.56705' from 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin'.
  GET https://api.nuget.org/v3-flatcontainer/microsoft.portal.testframework.unittest/6.672.0.5/microsoft.portal.testframework.unittest.6.672.0.5.nupkg
  NotFound https://api.nuget.org/v3-flatcontainer/microsoft.portal.testframework.unittest/6.672.0.5/microsoft.portal.testframework.unittest.6.672.0.5.nupkg 57ms
    [CredentialProvider]Using the ADAL UI  flow for uri https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json. User sign-in required in a pop-up authentication window.

Stwierdza, że ​​wymagane jest uwierzytelnienie.

Zgodnie z tym postem Jak przekazać usługę Azure Auth podczas wdrażania pakietu NuGet za pośrednictwem Nuke.Common / NuGet.CommandLine , sugerowanym rozwiązaniem jest „ zaktualizowanie daty wygaśnięcia hasła DevOps ”.

Czy ktoś może powiedzieć, jak mogę zaktualizować datę wygaśnięcia w usłudze Azure DevOps. Nie miałem zbyt dużej reputacji, aby komentować ten post, więc musiałem utworzyć nowy post.

Odpowiedzi

1 DanCsharpster Dec 22 2020 at 22:02

W przypadku hasła w tym przypadku uważam, że oznacza to PAT lub osobisty token dostępu. Dla dowolnego użytkownika, który ten token został wygenerowany, jako ten użytkownik w Azure Devops, kliknij ustawienia użytkownika -> osobiste tokeny dostępu. Następnie znajdź żądany token i kliknij edytuj, a następnie wybierz nową datę ważności.

Aktualizacja: upewnij się, że dodano zadanie uwierzytelniania NuGet w definicji potoku yaml zdefiniowanej tutaj .

1 LeoLiu-MSFT Dec 24 2020 at 14:53

Jak zaktualizować datę wygaśnięcia hasła w usłudze Azure DevOps

Zgodnie z dziennikiem błędów powinieneś upewnić się, że masz dostęp do adresu URL:

https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json

To jest kanał, do którego dostęp wymaga pewnych uprawnień. Możesz otworzyć ten adres URL w przeglądarce w trybie prywatnym, aby sprawdzić, czy masz uprawnienia dostępu do swojego konta.

Jeśli możesz uzyskać dostęp do tego adresu URL, możesz spróbować dodać następujące informacje w swoim nuget.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="MyAzureFeed" value="https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>

  <packageSourceCredentials>
    <MyAzureFeed>
      <add key="Username" value="YouAccount" />
      <add key="ClearTextPassword" value="xxxx(could be your PAT)" />
    </MyAzureFeed>
  </packageSourceCredentials>

</configuration>

Jeśli używasz prywatnego agenta do tworzenia potoku, możesz również zaktualizować hasło bezpośrednio na serwerze:

Prywatny kanał NuGet - zapamiętywanie hasła

Uwaga: Nawet gdybym mógł otworzyć ten adres URL w mojej przeglądarce, ale nadal nie mogłem znaleźć tego pakietu z tego źródła po dodaniu tego źródła kanału do mojego programu Visual Studio jako testu, mogłem tylko znaleźć pakiet microsoft.portal.testframework(Nie jestem pewien, czy moje uprawnienia są niewystarczające ):

1 HughLin-MSFT Dec 23 2020 at 15:55

W zadaniu przywracania potoku wybierz następującą opcję:

Zwykle wybranie tej opcji nie wymaga uwierzytelnienia.

Jeśli wybierzesz drugą opcję, możesz dodać zadanie uwierzytelniania NuGet przed zadaniem przywracania, aby skonfigurować narzędzia NuGet do uwierzytelniania za pomocą Azure Artifacts i innych repozytoriów NuGet.

Oprócz korzystania z wtyczki poświadczeń NuGet można również użyć interfejsu cli dotnet, aby dodać poświadczenia do źródła NuGet.

RUN dotnet nuget add source "your-source-url" --name "source-name" --username "useless" --password "$PAT" --store-password-in-clear-text
RUN dotnet restore

Oto przypadek, do którego możesz się odnieść.

Azhar Dec 28 2020 at 18:37

Po uzyskaniu pomocy od członków społeczności publikuję moje ostateczne rozwiązanie, które pomogło mi uruchomić test UnitTest w potoku kompilacji AzureDevOps. Kroki, które dodałem przed uruchomieniem UnitTests:

  1. Dodano zadanie przywracania NuGet
  2. Dodano zadanie uwierzytelniania NuGet

Oto zrzut ekranu potoku kompilacji.