Nexus 2.0.6をインストールし、LDAPサーバーとの統合が機能しています(認証のみ)。一連の開発者のみが特定のアーティファクトまたはグループをデプロイできるようにNexusを構成する方法はありますか?
基本的に、チームAの開発者がチームBが担当するアーティファクトをデプロイすることは望んでいません。
この Sonatype ブログ投稿 で説明されているように、リポジトリ ターゲット、権限、およびロールを使用してリポジトリを分割できます。数か月前にこれをテストしましたが、うまく機能しているように見えました。
Nexus 2.0.1 では、これが私が作業して検証した解決策です。
警告:
これにより、「アーティファクトのアップロード」オプションをディレクトリ階層に制限できます。
これは、「デプロイ」や「リリース準備」とはまったく同じではありません。
手順:
「Artifact Upload」の単一の特権を、現在持っているすべてのものから削除します。これを持ちたくないということです。
アクセスを許可する場所のディレクトリ マスクを含む "Repository-Target" を作成します。元。 .*/com/mycompany/target-dir/.*
マスクを再確認してください。ピリオドとアスタリスクで始まり、ピリオドとアスタリスクで終わります。
作成したばかりの Repository-Target にマップする「Repository-Privilege」を作成します。通常、「releases.com.mycompany.target-dir」のように、このリポジトリ権限名にリポジトリ名を含めます。これにより、前述のディレクトリの CRUD エントリ (4) が作成されます。
次に、作成したばかりのリポジトリ権限 (4)と「アーティファクトのアップロード」に基づいて「ロール」を作成します。ロールの合計 5 つのエントリ。ここで「フィルターを適用」を使用して、これらのアイテムを見つけやすくします。このロールに「Upload.Role.Releases.Target-Dir」のような名前を付けます。繰り返しますが、完了すると、このロールの 5 つのエントリが存在するはずです:
Artifact Upload
com.mycompany.target-dir(create)
com.mycompany.target-dir(delete)
com.mycompany.target-dir(read)
com.mycompany.target -dir(update)
これは、アップロードの役割をこの repo.directory に制限するものです。
ユーザーがまだ存在しない場合は作成し、パスワードを割り当てます。
ユーザーに次のロールを付与します:
Nexus デプロイ
リポジトリ: すべての Maven リポジトリ (読み取り)
UI: ベース UI 権限
Upload.Role.Relases.Target-Dir
保存を押してください。後で、この同じアプローチを使用して、他のリポジトリ (スナップショットやサード パーティなど) の新しいロールを作成し、同じディレクトリ マスクを保持できます。