Cómo actualizar la fecha de vencimiento de la contraseña en Azure DevOps
Mientras ejecuta el proyecto UnitTest en la canalización de compilación de Azure. Me sale el siguiente error:
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.
Indica que se requiere autenticación.
Según esta publicación Cómo pasar Azure Auth al implementar el paquete NuGet a través de Nuke.Common / NuGet.CommandLine, la solución sugerida es " actualizar la fecha de vencimiento de la contraseña DevOps ".
¿Alguien puede decir cómo puedo actualizar la fecha de vencimiento en Azure DevOps? No tenía mucha reputación para comentar en esa publicación, así que tuve que crear una nueva publicación.
Respuestas
Para la contraseña en este caso, creo que esto significa PAT o Token de acceso personal. Para cualquier usuario que se haya generado ese token, como ese usuario en Azure Devops, haga clic en configuración de usuario -> tokens de acceso personal. Luego busque el token deseado y haga clic en editar, luego elija una nueva fecha de vencimiento deseada.
Actualización: asegúrese de agregar la tarea de autenticación nuget en la definición de canalización yaml definida aquí .
Cómo actualizar la fecha de vencimiento de la contraseña en Azure DevOps
De acuerdo con el registro de errores, debe asegurarse de poder acceder a la URL:
https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json
Este es un feed que requiere ciertos permisos para acceder. Puede abrir esta URL en su navegador en modo privado para verificar si tiene permiso para acceder con su cuenta.

Si puede acceder a esa URL, puede intentar agregar lo siguiente en su 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>
Si está utilizando un agente privado para construir la canalización, también puede actualizar la contraseña en el servidor directamente:
Feed privado de NuGet: recordando la contraseña
Nota: Incluso si pudiera abrir esa URL en mi navegador, pero aún no pude encontrar este paquete desde ese feed después de agregar esa fuente de feed en mi Visual Studio como prueba, solo pude encontrar el paquete microsoft.portal.testframework
(no estoy seguro si mis permisos son insuficientes ):

En la tarea de restauración de su canalización, selecciona la siguiente opción:

Por lo general, elegir esta opción no requiere autenticación.
Si selecciona la segunda opción, puede agregar una tarea de autenticación de NuGet antes de la tarea de restauración para configurar las herramientas de NuGet para autenticarse con Azure Artifacts y otros repositorios de NuGet.

Además de usar el complemento de credenciales de NuGet, también puede usar la cli de dotnet para agregar credenciales a la fuente de nuget.
RUN dotnet nuget add source "your-source-url" --name "source-name" --username "useless" --password "$PAT" --store-password-in-clear-text
RUN dotnet restore
Aquí hay un caso al que puede hacer referencia.
Después de recibir ayuda de los miembros de la comunidad, publico mi solución final que me ayudó a ejecutar UnitTest en la canalización de compilación de AzureDevOps. Los pasos que agregué antes de ejecutar UnitTests:
- Tarea de restauración de NuGet agregada
- Se agregó la tarea de autenticación de NuGet
Aquí está la captura de pantalla de la canalización de compilación.
