Azure DevOps에서 암호의 만료 날짜를 업데이트하는 방법

Dec 22 2020

Azure 빌드 파이프 라인에서 UnitTest 프로젝트를 실행하는 동안. 다음 오류가 발생합니다.

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.

인증이 필요함을 나타냅니다.

이 게시물에 따라 Nuke.Common / NuGet.CommandLine을 통해 NuGet 패키지를 배포 할 때 Azure Auth를 전달 하는 방법 제안 된 솔루션은 " 암호 DevOps의 만료 날짜를 업데이트 "하는 것입니다.

누구나 Azure DevOps에서 만료 날짜를 업데이트하는 방법을 알 수 있습니까? 그 게시물에 댓글을다는 평판이별로 없었기 때문에 새 게시물을 작성해야했습니다.

답변

1 DanCsharpster Dec 22 2020 at 22:02

이 경우 비밀번호는 PAT 또는 Personal Access Token을 의미한다고 생각합니다. 토큰이 생성 된 사용자에 대해 Azure Devops의 해당 사용자로 사용자 설정-> 개인 액세스 토큰을 클릭합니다. 그런 다음 원하는 토큰을 찾고 편집을 클릭 한 다음 원하는 새 만료 날짜를 선택합니다.

업데이트 : 여기에 정의 된 yaml 파이프 라인 정의에 너겟 인증 작업을 추가해야합니다 .

1 LeoLiu-MSFT Dec 24 2020 at 14:53

Azure DevOps에서 암호의 만료 날짜를 업데이트하는 방법

오류 로그에 따라 URL에 액세스 할 수 있는지 확인해야합니다.

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

액세스하려면 특정 권한이 필요한 피드입니다. 브라우저에서이 URL을 비공개 모드로 열어 계정에 대한 액세스 권한이 있는지 확인할 수 있습니다.

해당 URL에 액세스 할 수있는 경우 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>

사설 에이전트를 사용하여 파이프 라인을 빌드하는 경우 서버에서 직접 비밀번호를 업데이트 할 수도 있습니다.

비공개 NuGet 피드-비밀번호 기억

참고 : 브라우저에서 해당 URL을 열 수 있지만 Visual Studio에서 해당 피드 소스를 테스트로 추가 한 후에도 해당 피드에서이 패키지를 찾을 수없는 경우에도 패키지를 찾을 수만있었습니다 microsoft.portal.testframework(내 권한이 충분하지 않은지 확실하지 않음). ) :

1 HughLin-MSFT Dec 23 2020 at 15:55

파이프 라인의 복원 작업에서 다음 옵션을 선택합니까?

일반적으로이 옵션을 선택하는 데는 인증이 필요하지 않습니다.

두 번째 옵션을 선택하면 복원 작업 전에 NuGet 인증 작업을 추가하여 Azure Artifacts 및 기타 NuGet 리포지토리로 인증하도록 NuGet 도구를 구성 할 수 있습니다 .

NuGet 자격 증명 플러그인을 사용하는 것 외에도 dotnet cli를 사용하여 nuget 소스에 자격 증명을 추가 할 수도 있습니다.

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

참고할 수 있는 사례가 있습니다.

Azhar Dec 28 2020 at 18:37

커뮤니티 구성원의 도움을받은 후 AzureDevOps 빌드 파이프 라인에서 UnitTest를 실행하는 데 도움이되는 최종 솔루션을 게시하고 있습니다. UnitTests를 실행하기 전에 추가 한 단계 :

  1. NuGet 복원 작업 추가
  2. NuGet 인증 작업 추가

다음은 빌드 파이프 라인 스크린 샷입니다.