Cara memperbarui tanggal kedaluwarsa pada kata sandi di Azure DevOps
Saat menjalankan proyek UnitTest di pipa build Azure. Saya mendapatkan kesalahan di bawah ini:
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.
Ini menyatakan bahwa otentikasi diperlukan.
Sesuai posting ini Cara melewatkan Azure Auth saat Menyebarkan Paket NuGet melalui Nuke.Common / NuGet.CommandLine solusi yang disarankan adalah untuk " memperbarui tanggal kedaluwarsa pada kata sandi DevOps ".
Adakah yang tahu bagaimana cara memperbarui tanggal kedaluwarsa di Azure DevOps. Saya tidak punya banyak reputasi untuk berkomentar di kiriman itu jadi saya harus membuat kiriman baru.
Jawaban
Untuk kata sandi dalam hal ini, saya yakin ini berarti PAT atau Token Akses Pribadi. Untuk pengguna mana pun token itu dibuat, sebagai pengguna di Azure Devops, klik pada pengaturan pengguna -> token akses pribadi. Kemudian temukan token yang diinginkan dan klik edit, lalu pilih tanggal kedaluwarsa baru yang diinginkan.
Pembaruan: pastikan untuk menambahkan tugas otentikasi nuget dalam definisi pipeline yaml yang ditentukan di sini .
Cara memperbarui tanggal kedaluwarsa pada kata sandi di Azure DevOps
Menurut log kesalahan, Anda harus memastikan bahwa Anda dapat mengakses URL:
https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json
Ini adalah umpan yang membutuhkan izin akses tertentu. Anda dapat membuka URL ini di browser Anda dalam mode pribadi untuk memeriksa apakah Anda memiliki izin untuk mengakses dengan akun Anda.
Jika Anda dapat mengakses URL itu, Anda dapat mencoba menambahkan yang berikut di 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>
Jika Anda menggunakan agen pribadi untuk membangun pipeline, Anda juga dapat memperbarui sandi di server secara langsung:
Private NuGet Feed - Mengingat Kata Sandi
Catatan: Bahkan jika saya bisa membuka URL itu di browser saya, tetapi saya masih tidak dapat menemukan paket ini dari umpan itu setelah saya menambahkan sumber umpan itu di Visual Studio saya sebagai pengujian, hanya dapat menemukan paket microsoft.portal.testframework
(Tidak yakin apakah izin saya tidak mencukupi ):
Dalam tugas pemulihan pipeline Anda, apakah Anda memilih opsi berikut:
Biasanya memilih opsi ini tidak memerlukan otentikasi.
Jika Anda memilih opsi kedua, Anda dapat menambahkan tugas otentikasi NuGet sebelum memulihkan tugas untuk mengonfigurasi alat NuGet untuk mengautentikasi dengan Azure Artifacts dan repositori NuGet lainnya.
Selain menggunakan plugin kredensial NuGet, Anda juga dapat menggunakan dotnet cli untuk menambahkan kredensial ke sumber nuget.
RUN dotnet nuget add source "your-source-url" --name "source-name" --username "useless" --password "$PAT" --store-password-in-clear-text
RUN dotnet restore
Inilah kasus yang bisa Anda rujuk.
Setelah mendapatkan bantuan dari anggota komunitas, saya memposting solusi akhir saya yang membantu saya menjalankan UnitTest di pipa pembuatan AzureDevOps. Langkah-langkah yang saya tambahkan sebelum menjalankan UnitTests:
- Menambahkan tugas pemulihan NuGet
- Menambahkan tugas otentikasi NuGet
Berikut adalah screenshot build pipeline.