Cara memperbarui tanggal kedaluwarsa pada kata sandi di Azure DevOps

Dec 22 2020

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

1 DanCsharpster Dec 22 2020 at 22:02

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 .

1 LeoLiu-MSFT Dec 24 2020 at 14:53

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 ):

1 HughLin-MSFT Dec 23 2020 at 15:55

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.

Azhar Dec 28 2020 at 18:37

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:

  1. Menambahkan tugas pemulihan NuGet
  2. Menambahkan tugas otentikasi NuGet

Berikut adalah screenshot build pipeline.