無署名のジョブをNexusリポジトリーに移行 - 7.3

Talend移行&アップグレードガイド

Version
7.3
Language
日本語
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Activity Monitoring Console
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend Data Preparation
Talend Data Stewardship
Talend ESB
Talend Identity and Access Management
Talend JobServer
Talend Log Server
Talend MDM Server
Talend MDM Web UI
Talend Runtime
Talend SAP RFC Server
Talend Studio
Content
インストールとアップグレード
Last publication date
2023-05-22
Talend Administration Centerをアップグレードした後に、新しいTalend Administration Centerで実行する前に、Nexusリポジトリーに公開済みの無署名のジョブを移行する必要があります。

始める前に

[Redeploy] (再デプロイ)オプションがNexus側で有効になっていることを確認します。

手順

  1. Talend Administration Centerパッケージに含まれているアーカイブArtifact-Repository-Nexus-<version>.zipを解凍して、migration-<version>フォルダーを取得します。
  2. configurationサブフォルダーに移動し、設定ファイルrepository.propertiesを開きます。
  3. 設定ファイルを編集して、実際の状況に従って以下の詳細を指定します。
    • リポジトリータイプ
    • リポジトリーのURL
    • リポジトリーID
    • グループIDまたは検索キーワード
    • ユーザー名とパスワード
    • ライセンスファイルへのパス
  4. migration-<version>フォルダー内のJARファイルnexus-signature-migration-<version>.jarを実行します。
    java -jar nexus-signature-migration-<version>.jar

タスクの結果

Nexusリポジトリーに公開された古いジョブがローカルファイルシステムにダウンロードされ、署名されてNexusリポジトリーに再デプロイされます。
トラブルシューティング: 移行が失敗してもエラーメッセージが表示されない場合は、次の手順を試してください。
  1. Nexus Repository Managerに管理者としてログインします。
  2. [Server administration and configuration] (サーバーの管理と設定)ボタンをクリックします。
  3. Update stored script by name APIまでスクロールダウンします。
  4. nameパラメーターの値にsearchと書き込みます。
  5. 検索スクリプトがまだない場合は、bodyパラメーターのvalueに次のスクリプトを貼り付けます:
    { "name": "search", "content": "import org.sonatype.nexus.repository.storage.Query; 
    import org.sonatype.nexus.repository.storage.StorageFacet; 
    import org.sonatype.nexus.repository.storage.Query.Builder; 
    import groovy.json.JsonOutput; 
    import groovy.json.JsonSlurper; 
    def search = new JsonSlurper().parseText(args); 
    log.info('search arguments: ' + args); 
    def repositoryId = search.repositoryId; 
    def groupId = search.g; 
    def artifactId = search.a; 
    def version = search.v; 
    def data = []; 
    def repo = repository.repositoryManager.get(repositoryId); 
    StorageFacet storageFacet = repo.facet(StorageFacet); 
    def tx = storageFacet.txSupplier().get(); 
    tx.begin(); 
    def builder = Query.builder(); 
    if(groupId != null){ builder.where('group = ').param(groupId); };
    if(version != null){ if(builder.hasWhere()){ builder.and('version = ').param(version); }else{ builder.where('version = ').param(version); } };
    if(artifactId != null){ artifactId =[artifactId]; log.info('artifactId: ' + artifactId); if(builder.hasWhere()){ builder.and('name in ').param(artifactId); }else{ builder.where('name in ').param(artifactId); } };
    def query = builder.build() ;
    log.info('query: ' + query.getParameters());
    log.info('query: ' + query.getWhere());
    def components = tx.findComponents(query , [repo]);
    components.each{ ArtifactResult artifact = new ArtifactResult(); artifact.groupId = it.attributes().child('maven2').get('groupId'); artifact.artifactId = it.attributes().child('maven2').get('artifactId'); artifact.version = it.attributes().child('maven2').get('baseVersion'); artifact.extension = it.attributes().child('maven2').get('packaging'); artifact.last_updated = it.lastUpdated(); artifact.description = it.attributes().child('maven2').get('pom_description'); log.info('search arguments: ' + it.attributes()); log.info('search getProperties: ' + it.getProperties()); log.info('search getEntityMetadata: ' + it.getEntityMetadata()); log.info('search getMetaPropertyValues: ' + it.getMetaPropertyValues()); data << artifact; };
    tx.commit();
    tx.close();
    return JsonOutput.toJson(data);
    class ArtifactResult{ String groupId; String artifactId; String version; String extension; String last_updated; String description; } ", "type": "groovy" }
  6. [Try it out!] (試してみる)をクリックします。