So aktualisieren Sie das Ablaufdatum des Kennworts in Azure DevOps
Während Sie das UnitTest-Projekt in der Azure-Build-Pipeline ausführen. Ich bekomme folgenden Fehler:
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.
Es besagt, dass eine Authentifizierung erforderlich ist.
Gemäß diesem Beitrag Übergeben der Azure-Authentifizierung beim Bereitstellen des NuGet-Pakets über Nuke.Common / NuGet.CommandLine wird empfohlen, das Ablaufdatum des Kennworts DevOps zu aktualisieren .
Kann jemand sagen, wie ich das Ablaufdatum in Azure DevOps aktualisieren kann? Ich hatte nicht viel Ruf, um in diesem Beitrag zu kommentieren, also musste ich einen neuen Beitrag erstellen.
Antworten
Für das Passwort bedeutet dies in diesem Fall meiner Meinung nach PAT oder Personal Access Token. Klicken Sie für jeden Benutzer, für den dieses Token generiert wurde, als Benutzer in Azure Devops auf Benutzereinstellungen -> Token für den persönlichen Zugriff. Suchen Sie dann das gewünschte Token und klicken Sie auf Bearbeiten. Wählen Sie dann ein neues gewünschtes Ablaufdatum.
Update: Stellen Sie sicher, dass Sie die Nuget-Authentifizierungsaufgabe in der hier definierten yaml-Pipeline-Definition hinzufügen .
So aktualisieren Sie das Ablaufdatum des Kennworts in Azure DevOps
Laut Fehlerprotokoll sollten Sie sicherstellen, dass Sie auf die URL zugreifen können:
https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json
Dies ist ein Feed, für dessen Zugriff bestimmte Berechtigungen erforderlich sind. Sie können diese URL in Ihrem Browser im privaten Modus öffnen, um zu überprüfen, ob Sie über die Berechtigung zum Zugriff mit Ihrem Konto verfügen.

Wenn Sie auf diese URL zugreifen könnten, könnten Sie versuchen, Folgendes in Ihrem nuget.config
:hinzuzufügen
<?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>
Wenn Sie zum Erstellen der Pipeline einen privaten Agenten verwenden, können Sie das Kennwort auch direkt auf dem Server aktualisieren:
Privater NuGet-Feed - Passwort speichern
Hinweis: Auch wenn ich diese URL in meinem Browser öffnen konnte, aber dieses Paket aus diesem Feed nicht finden konnte, nachdem ich diese Feedquelle in meinem Visual Studio als Test hinzugefügt hatte, konnte ich das Paket nur finden microsoft.portal.testframework
(nicht sicher, ob meine Berechtigungen nicht ausreichen ):

Wählen Sie in der Wiederherstellungsaufgabe Ihrer Pipeline die folgende Option aus:

Normalerweise erfordert die Auswahl dieser Option keine Authentifizierung.
Wenn Sie die zweite Option auswählen, können Sie vor der Wiederherstellungsaufgabe eine NuGet-Authentifizierungsaufgabe hinzufügen, um die NuGet-Tools für die Authentifizierung bei Azure Artifacts und anderen NuGet-Repositorys zu konfigurieren.

Neben der Verwendung des NuGet-Plugins für Anmeldeinformationen können Sie auch die dotnet-CLI verwenden, um der Nuget-Quelle Anmeldeinformationen hinzuzufügen.
RUN dotnet nuget add source "your-source-url" --name "source-name" --username "useless" --password "$PAT" --store-password-in-clear-text
RUN dotnet restore
Hier ist ein Fall, auf den Sie sich beziehen können.
Nachdem ich Hilfe von den Community-Mitgliedern erhalten habe, veröffentliche ich meine endgültige Lösung, mit der ich den UnitTest in der AzureDevOps-Build-Pipeline ausführen konnte. Die Schritte, die ich vor dem Ausführen von UnitTests hinzugefügt habe:
- NuGet-Wiederherstellungsaufgabe hinzugefügt
- NuGet-Authentifizierungsaufgabe hinzugefügt
Hier ist der Screenshot der Build-Pipeline.
