2017-09-20 10 views
1

내 VSTS (Visual Studio Team Services) 계정의 비공개 패키지 피드에 패키지가 있으며, 내 패키지의 모든 버전을 사용 중지되었으므로 대신 사용 중지됩니다. 다른 package.Thus 나는 불행하게도 내가 찾을 수있는 모든 설명처럼 패키지의 하나 특정 버전을 unlists 버튼입니다VSTS 패키지 피드의 모든 uget 패키지 버전을 취소하십시오.

(가능하면, 그것을 삭제하지 않음)을 목록에서 제외함으로써 deprected으로 이전 패키지를 표시 할 here. 패키지가 피드에서 제거되기 전에 쉽게 30 개의 버전을 제거해야하므로 기존 패키지를 제거하는 데 오래 걸립니다.

나는 nuget.org가 단 한 번의 클릭으로 모든 버전의 패키지를 제거 할 수있는 기능이 있다는 것을 알고 있으며 기본 기능으로 간주 할 것입니다. 누구든지 VSTS에서 패키지를 더 쉽게 unlist 할 수있는 트릭이나 숨겨진 버튼이 있는지 알고 있습니까? 아니면 거기에 nuget cli 명령이 있습니까?

답변

3

VSTS 웹 UI 또는 누에 클리에 상관없이 패키지는 하나씩에 한해서만 공개 될 수 있습니다.

올라가지의 형식 패키지로 :

nuget delete <packageID> <packageVersion> [options] 

그러나 당신이 당신의 VSTS에서 올라가지 패키지에 자신의 스크립트가 루프에서 먹이를 작성할 수 있습니다. 상세 단계로 :

1. VSTS의 모든 패키지를 공급 자격

nuget sources add -Name "feedname" -Source "https://account.pkgs.visualstudio.com/_packaging/feedname/nuget/v3/index.json" -Username <Alternate username/email> -password <Alternate password/PAT> 

2. 목록에 소스로 VSTS 피드 추가

nuget list -source feedname 

3. 루프 2 단계에서 얻은 패키지를 루프에 등록 해제하십시오.

nuget delete packagename packageversion -source feedname -ApiKey key 
+0

쉬운 방법은 없지만 괜찮아요. 스크립트가 저에게 효과적입니다. 감사! – Peter

1

다음 powershell 스크립트를 작성하여 사용하여 tfs 피드의 모든 nuget 패키지를 나열 해제합니다.

$nugetFeed = "http://tfs/MyTeam/_packaging/MyProject/nuget/v3/index.json" 
$nugetExe = "C:\pathToNuget\nuget.exe" 
$packageToDelete = "MyPackage" 
$apiKey = "VSTS" 

function Get-PackageVersions 
{ 
    Param 
    (
     [string]$Package, 
     [string]$Feed, 
     [string]$Nuget 
    ) 

    $packageContent = & $Nuget list -Source $Feed -PreRelease -AllVersions 
    $packages = $packageContent.Split([Environment]::NewLine) 
    foreach($line in $packages) { 
     $parts = $line.Split(' ') 
     $packageName = $parts[0] 
     $packageVersion = $parts[1] 
     if($packageName -eq $Package) { 
      $packageVersion 
     } 
    } 
} 

$versions = Get-PackageVersions -Package $packageToDelete -Feed $nugetFeed -Nuget $nugetExe 
foreach($version in $versions) { 
    & $nugetExe delete $packageToDelete $version -Source $nugetFeed -ApiKey VSTS $apiKey 
}