2017-05-02 8 views
0

Nexus Repository Manager OSS 2.14.3から3.2.1にアップグレードした後、私はアーチファクトの数をどのように数えられるか分かりません各リポジトリは、データアップグレードの検証の一部として特定のBLOBストアの下に格納されます。インターフェイスから手動で数えることは、生産に10K以上のアーティファクトがあるため実用的ではありません。 (2.xから同じリポジトリの内容をアップグレードした後)3.xのに端末のネクサスリポジトリマネージャOSS 3.2.1でアーチファクトの数をカウントする方法

[[email protected] local]# ll sonatype-work/nexus3/blobs/releases/content/ | wc -l 
14 
[[email protected] local]# ll sonatype-work/nexus3/blobs/releases/content/   
total 52 
drwxr-xr-x 2 root root 4096 May 2 06:42 tmp 
drwxr-xr-x 3 root root 4096 May 2 06:42 vol-12 
drwxr-xr-x 3 root root 4096 May 2 06:42 vol-13 
drwxr-xr-x 4 root root 4096 May 2 06:42 vol-16 
drwxr-xr-x 4 root root 4096 May 2 06:42 vol-22 
drwxr-xr-x 3 root root 4096 May 2 06:42 vol-24 
drwxr-xr-x 3 root root 4096 May 2 06:42 vol-31 
drwxr-xr-x 4 root root 4096 May 2 06:42 vol-34 
drwxr-xr-x 3 root root 4096 May 2 06:42 vol-36 
drwxr-xr-x 3 root root 4096 May 2 06:42 vol-37 
drwxr-xr-x 3 root root 4096 May 2 06:42 vol-41 
drwxr-xr-x 4 root root 4096 May 2 06:42 vol-42 
drwxr-xr-x 3 root root 4096 May 2 06:42 vol-43 
[[email protected] local]# 

なぜアーチファクトをカウント2.xでアーティファクト(合計3アーティファクトを含む)の

[[email protected] local]# ll sonatype-work/nexus/storage/releases/sample/1/1/1-1*zip   
-rw-r--r-- 1 root root 152818 May 2 06:38 sonatype-work/nexus/storage/releases/sample/1/1/1-1-1.zip 
-rw-r--r-- 1 root root 145119 May 2 06:38 sonatype-work/nexus/storage/releases/sample/1/1/1-1-2.zip 
-rw-r--r-- 1 root root 1152 May 2 06:38 sonatype-work/nexus/storage/releases/sample/1/1/1-1.zip 
[[email protected] local]# ll sonatype-work/nexus/storage/releases/sample/1/1/1-1*zip | wc -l 
3 
[[email protected] local]# 

計数

後でカウントがと表示されます。 3.x以降では、アーティファクトがファイルの代わりにBLOBSとして保存されることを理解しています。

端末を使用して3.xの各ブロブストアの下に格納される人工物の数を調べる他の方法はありません。

答えて

0

repositroyのアセットとコンポーネントの数を数えるグルーヴィースクリプトが見つかりました。このスクリプトはNexus 3.xでExecute Script task経由で実行できます。

import org.sonatype.nexus.repository.Repository 
import org.sonatype.nexus.repository.storage.Query 
import org.sonatype.nexus.repository.storage.StorageFacet 

import groovy.json.JsonOutput 

def result = [:] 

def totalComponents = 0 
def totalAssets = 0 

repository.repositoryManager.browse().each { Repository repo -> 
    def tx = repo.facet(StorageFacet).txSupplier().get() 
    tx.begin() 
    def components = 
    tx.countComponents(Query.builder().where('1').eq(1).build(), [repo]) 
    def assets = tx.countAssets(Query.builder().where('1').eq(1).build(), 
          [repo]) 
    tx.commit() 
    totalComponents += components 
    totalAssets += assets 
    result[repo.name] = [components: components, assets: assets] 
} 

result["_totals"] = [components : totalComponents, assets : totalAssets] 

def json = JsonOutput.toJson(result) 
log.info json 
return json 
関連する問題