この記事では、Linuxサーバー上でDockerを使用してNexusプライベートサーバーを構築する方法について説明します。 1. Nexusをインストールする 1. データを保存する場所を作成する # ディレクトリを入力します。cd /srv を使用するだけです # フォルダを作成する mkdir nexus-data # 権限を付与してください。そうしないと、起動時にエラーが報告されます。操作権限なし chmod 777 nexus-data 2. 開始 次のコマンドを実行すると、イメージが自動的にプルされ、起動されます。 docker run -d -p 8081:8081 --name nexus -v /srv/nexus-data:/nexus-data --restart=always sonatype/nexus3 右上隅の「サインイン」をクリックしてログインします。アカウントは # イメージを入力 docker exec -it nexus bash # パスワードを確認してください。ログインボックスにパスが求められたら、それをコピーします。ログインに成功すると、パスワードを変更するように求められます cat /nexus-data/admin-password この時点で起動は完了です。ホームページに入ったら、左側のメニューバーの 2. ネクサス倉庫 1. 倉庫タイプ Nexusには4つの倉庫と4つの倉庫タイプがあります a. 倉庫
|
タイプ | 説明する |
---|---|
グループ(倉庫グループタイプ) | 開発者が設定するためのリポジトリ |
ホスト型(ホストタイプ) | 社内プロジェクト用のリリース倉庫(社内開発者がリリースして保管するための倉庫) |
プロキシ(プロキシタイプ) | リモート中央ウェアハウスからデータのウェアハウスを検索します (対応するウェアハウスの [構成] ページをクリックし、プロキシされているリモート ウェアハウスのパスである [リモート ストレージの場所] プロパティの値を確認できます)。 |
仮想(仮想型) | 仮想倉庫(基本的には使用しません。上記3つの倉庫の使用に重点を置きます) |
2. ジャーパッケージを引き抜くプロセス
Maven はホスト リポジトリまたはプロキシ リポジトリからコンポーネントを直接ダウンロードできますが、プロキシ リポジトリはリモート リポジトリからコンポーネントを間接的にダウンロードしてキャッシュします。便宜上、Maven は実際のコンテンツがないリポジトリ グループからコンポーネントをダウンロードできます (下の図の点線で示され、実際のコンポーネント コンテンツを取得するために含まれているホスト リポジトリまたはプロキシ リポジトリを参照します)。
3. 倉庫を作る
上記の説明で、倉庫について理解できました。次に、代理倉庫(proxy)
、宿主倉庫(hosted)
、倉庫組(group)
に分かれた倉庫を作成します。ホームページの小さなネジをクリックし、 Repositories
を選択して倉庫管理リストに入ります。その後、倉庫の作成を開始できます。倉庫の種類を選択するときは、必ずmaven2
を選択してください。
a. プロキシ倉庫
アリババの中央倉庫を利用しています
b. ホストされたリポジトリ
ここでreleases
とsnapshot
リポジトリを作成できます。ここでは1つの例を示します。
c. グループ倉庫グループ
3. プロジェクト構成
最初の 2 つの章で、Linux サーバーに Nexus をデプロイし、ウェアハウスを作成しました。次に、プロジェクトでこれを構成してみましょう。
1. Mavenプロジェクトを作成する
デモ用にツールクラスを作成しましょう。以下はディレクトリ構造です。
2. pomファイル
デモンストレーションの目的で、 release
リポジトリを構成しました。実際には、 snapshot
リポジトリも構成する必要があります。Maven は、バージョンの後に-SNAPSHOT
が続くかどうかを判断します。続く場合は、スナップショット リポジトリに公開されます。そうでない場合は、リリース リポジトリに公開されます。
<?xml バージョン="1.0" エンコーディング="UTF-8"?> <プロジェクト xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <モデルバージョン>4.0.0</モデルバージョン> <groupId>com.gjing</groupId> <artifactId>デモ</artifactId> <バージョン>1.0</バージョン> <name>デモ</name> <description>Spring Boot のデモ プロジェクト</description> <プロパティ> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </プロパティ> <配布管理> <リポジトリ> <!--ID は自由に記述できますが、Maven 設定ファイルと一致している必要があります --> <id>リリース</id> <!-- ストレージ タイプがリリースで、ウェアハウス タイプがホスト (ホスト ウェアハウス) であるウェアハウスを指します----> <url>http://Nexus リポジトリ IP:8081/repository/me-release/</url> </リポジトリ> </配布管理> <ビルド> <プラグイン> <プラグイン> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <バージョン>3.8.1</バージョン> <構成> <ソース>1.8</ソース> <target>1.8</target> </構成> </プラグイン> <プラグイン> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <バージョン>2.8.2</バージョン> </プラグイン> </プラグイン> </ビルド> </プロジェクト>
3. Maven構成設定ファイル
IDはプロジェクトのPOMファイルと一致
いる必要があります
<サーバー> <サーバー> <id>releases</id><!--プロジェクトのpomファイルの設定に対応--> <ユーザー名>管理者</ユーザー名> <パスワード>admin123</パスワード> </サーバー> </サーバー>
4. リリース
IDEA開発ツールを使用している場合は、右側のツールバーのMavenツールで直接デプロイをクリックするか、コマンドラインでプロジェクトのルートディレクトリを直接入力してmvn deploy
実行します。
この時点で、私たちのjarパッケージはNexusプライベートサーバーにも表示されます。
これは成功したリリースです
5. 使用
Maven プロジェクトで Nexus をリモート リポジトリとして使用できるようにするには、2 つの方法があります。1 つ目は、プロジェクトの pom.xml を変更して、1 つのプロジェクトで Nexus リポジトリを使用できるようにすることです。もう 1 つは、Maven の構成ファイル settings.xml を変更して、すべてのプロジェクトで Nexus リポジトリを使用できるようにすることです。ここでは、setting.xml のみを必要とする 2 番目の方法を採用します。また、このグループが作成されたときに、他の 3 つの倉庫がすでに含まれていたため、jar を取り出すためのプライベート サーバー倉庫アドレスを倉庫グループに書き込む必要があります。
1. settings.xml ファイル
Maven設定ファイルでmirrors
を探し、グループウェアハウスのmirror
を追加し、URLに作成したグループアドレスを入力します。IDと名前は自由に入力でき、mirrorOfは私が書いたものと同じにすることができます。
<鏡> <ミラー> <id>ミネクサス</id> <name>自分のネクサスリポジトリ</name> <url>http://xxx:8081/repository/me-group/</url> <mirrorOf>中央</mirrorOf> </ミラー> </ミラー>
2. 検証
他のプロジェクトに pom ファイルをインポートするだけです。正常にインポートされると、定義したツール クラスをプロジェクトで正常に使用できるようになります。
これで全工程は終了です。ご質問があればコメント欄でお知らせください。
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。
<<: Vue.js の計算プロパティ、監視プロパティ、ライフサイクルの詳細な説明
序文前回の記事では Hadoop をインストールしましたが、今回は Hbase をインストールします...
前のセクションでは、コンテンツ、サーバー、JavaScript、CSS など、Web サイトのパフォ...
具体的な方法: 1. コマンドプロンプトを開く2. mysql -u root -pコマンドを入力し...
目次1. 問題2. 解決策1. オブジェクトをanyとして宣言する2. オブジェクトのインターフェー...
序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...
MySQL公式サイトのダウンロードアドレス: https://dev.mysql.com/downl...
序文node.js でサーバーを作成するのは非常に簡単です。小さいながらも完全な Web サーバーを...
この記事では、従業員情報の追加と削除の機能を実装するためのjQueryの具体的なコードを参考までに共...
この記事では、3階層ナビゲーションの表示と非表示を実現するためのVueの具体的なコードを例として紹介...
序文これまでにも、一部の SQL ステートメントを不適切に使用すると MySQL インデックスが失敗...
1. トランザクションはACID特性を持つ原子性: トランザクションは、トランザクションによって分割...
1. 背景サーバーの開発プロセスでは、新しいコードや構成をロードするためにサービスを再起動することが...
序文MySQL を扱ったことがある人なら、テーブル メタデータ ロックの待機についてよく知っているは...
目次1. はじめに2. ユーザーテーブルを準備する2.1 グループ化ルール2.2 グループの使用2....
関連記事:初心者が学ぶ HTML タグ (4)導入された HTML タグは、必ずしも XHTML 仕...