Maven私服倉庫管理:Nexus 3.0
Nexusは強力な倉庫マネージャであり、内部倉庫のメンテナンスと外部倉庫へのアクセスを大幅に簡素化しています.
2016年4月6日にNexus 3.0バージョンがリリースされ、2.xバージョンは大きく変更されました.は、低レベルのコードを大規模に再構築し、パフォーマンスを向上させ、拡張性を向上させ、ユーザー体験を改善しました. はインタフェースをアップグレードし、ユーザーインタフェースの操作と管理を大幅に簡素化します. は、新しいインストールパッケージを提供し、導入をより簡単にします. Docker,NeGet,npm,Bowerへのサポートを追加します. は、新しい管理インタフェースを提供し、自動タスクの管理を強化します.
インストールダウンロードアドレス:http://www.sonatype.com/downl... 公式文書:http://books.sonatype.com/nex... PDFドキュメント:http://books.sonatype.com/nex...
環境要件 Windows/Linux/Mac Java JDK 8+ Apache Maven 3.0+
インストール手順
例Ubuntu 16.04 LTS環境に基づき、インストール前にJDKをチェックする.
1.管理ユーザーの作成
この手順は必須ではありませんが、管理とメンテナンスを向上させるために、管理ユーザーを作成することをお勧めします.
2.インストールパッケージのダウンロード
3.解凍とインストール
4.運転
5.インストールの検証
ブラウザを開いて入力:http://127.0.0.1:8081
コンフィギュレーション
以下の構成はオプションです.詳細は公式ドキュメントを参照してください.
1.JVM構成(オプション)
Nexus 3.0のデフォルト設定:
JVM構成の変更:システムの実際の状況に応じて を構成してください.他のJVMパラメータもここに追加できます
2.ポート番号の設定(オプション、デフォルトのポート番号:8081を推奨)
再起動後のアクセス:http://localhost:9081
3.データストアディレクトリの構成(オプション)
4.エージェントの構成(オプション)
Apache httpd.
nginx.
5.SSLの構成(オプション)
Apache httpd. Ensure Apache httpd is loading mod_ssl.
nginx. Make sure nginx is compiled using the --with-http_ssl_module option.
倉庫紹介
1.エージェントウェアハウス(Proxy Repository)
名前の通りサードパーティの倉庫を代理しています. maven-central nuget.org-proxy
バージョンポリシー(Version Policy): Release:正式バージョン Snapshot:スナップショットバージョン Mixed:ハイブリッドモード レイアウトポリシー(Layout Policy): Strict:厳格 Permissive:ゆとり 2.宿主倉庫(Hosted Repository)
ローカルにアップロードされたコンポーネントとリソースを格納するには、次のようにします. maven-releases maven-snapshots nuget-hosted
導入ポリシー(Deployment Policy): Allow Redeploy: の再配置を許可 Disable Redeploy:再配置禁止 Read-ONly:読み取り専用 3.倉庫グループ(Repository Group)
通常、複数のエージェント・ウェアハウスとホスト・ウェアハウスが含まれます.プロジェクトでは、ウェアハウス・グループを導入するだけで、エージェント・ウェアハウスとホスト・ウェアハウスのパッケージをダウンロードできます.たとえば、次のようになります. maven-public nuget-group
ユーザーインタフェースの操作と管理は比較的簡単です.公式ドキュメントを参照してください.
Mavenとの統合
1.Server構成認証情報
Mavenでsettings.xmlにNexus認証情報を追加: nexus-releases:Releaseバージョン をパブリッシュするための nexus-snapshots:Snapshotバージョン をパブリッシュ
ReleaseバージョンとSnapshotバージョンの区別:プロジェクトPOM.xmlで設定したバージョン番号にSNAPSHOTタグが追加されたものはすべてSNAPSHOTバージョンとしてリリースされ、SNAPSHOTタグがないものはReleaseバージョンとしてリリースされます. SNAPSHOTバージョンでは、 になるなど、自動的に時間が加算されます.
2.自動配置コンポーネントの構成
POMでxmlに次のコードを追加します.
注意事項: ID名はsettingsとしなければならない.xmlでは、サーバs構成のID名が一致しています. プロジェクトバージョン番号にSNAPSHOT IDがある場合は、Nexus Snapshots Repositoryにリリースされます.そうしないと、Nexus Release Repositoryにリリースされ、IDに基づいてライセンスアカウントに一致します.
3.Nexus倉庫への配備
4.サードパーティ製JARパッケージのアップロード
Nexus 3.0はページアップロードをサポートしていません.mavenコマンドを使用できます.
注意事項:サードパーティ製JARパッケージをアップロードする際に、個別のサードパーティ製JARパッケージ管理倉庫を作成し、管理とメンテナンスを容易にすることを推奨します.(maven-3rd) 5.エージェント中央倉庫の使用
注意事項:開発において厳格な管理要件があれば、SNAPSHOTとRELEASEを個別に構成することができる. プラグイン依存時にプラグインウェアハウスが構成され、デフォルトではMavenセントラルウェアハウスが使用されます.
2016年4月6日にNexus 3.0バージョンがリリースされ、2.xバージョンは大きく変更されました.
インストール
環境要件
インストール手順
例Ubuntu 16.04 LTS環境に基づき、インストール前にJDKをチェックする.
nexus@ubuntu:~$ java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
1.管理ユーザーの作成
この手順は必須ではありませんが、管理とメンテナンスを向上させるために、管理ユーザーを作成することをお勧めします.
# root
root@ubuntu:~# adduser nexus
## nexus sudo
# 1. root
root@ubuntu:~# chmod u+w /etc/sudoers
# 2. /etc/sudoers, root nexus
nexus ALL=(ALL) ALL
# 3.
root@ubuntu:~# chmod u-w /etc/sudoers
2.インストールパッケージのダウンロード
root@ubuntu:~# su nexus
nexus@ubuntu:~$ wget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.0.1-01-unix.tar.gz
nexus@ubuntu:~$ ls
nexus-3.0.1-01-unix.tar.gz
3.解凍とインストール
nexus@ubuntu:~$ tar -zxvf nexus-3.0.1-01-unix.tar.gz
#
nexus@ubuntu:~$ ls nexus-3.0.1-01/
bin data deploy etc lib LICENSE.txt NOTICE.txt public system
# bin:
# data:
# etc:
# lib: Apache Karaf
# public:
# system:
# JDK ( )
nexus@ubuntu:~$ vim nexus-3.0.1-01/bin/nexus
INSTALL4J_JAVA_HOME_OVERRIDE="/usr/lib/jvm/java-8-oracle"
# ( root )
nexus@ubuntu:~/nexus-3.0.1-01$ vim bin/nexus.rc
run_as_user="nexus"
4.運転
nexus@ubuntu:~$ ./nexus-3.0.1-01/bin/nexus start
# :{start|stop|run|run-redirect|status|restart|force-reload}
5.インストールの検証
ブラウザを開いて入力:http://127.0.0.1:8081
コンフィギュレーション
以下の構成はオプションです.詳細は公式ドキュメントを参照してください.
1.JVM構成(オプション)
Nexus 3.0のデフォルト設定:
nexus@ubuntu:~$ cat nexus-3.0.1-01/bin/nexus.vmoptions
-Xms1200M
-Xmx1200M
-XX:+UnlockDiagnosticVMOptions
-XX:+UnsyncloadClass
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc
-Djava.util.logging.config.file=etc/java.util.logging.properties
-Dkaraf.data=data
-Djava.io.tmpdir=data/tmp
-Dkaraf.startLocalConsole=false
JVM構成の変更:
-Xms1500M
-Xmx2G
2.ポート番号の設定(オプション、デフォルトのポート番号:8081を推奨)
nexus@ubuntu:~$ vim nexus-3.0.1-01/etc/org.sonatype.nexus.cfg
application-port=9081
再起動後のアクセス:http://localhost:9081
3.データストアディレクトリの構成(オプション)
nexus@ubuntu:~$ vim nexus-3.0.1-01/bin/nexus.vmoptions
#
-Dkaraf.data=data
-Djava.io.tmpdir=data/tmp
4.エージェントの構成(オプション)
Apache httpd.
ProxyRequests Off
ProxyPreserveHost On
ServerName www.example.com
ServerAdmin [email protected]
ProxyPass /nexus http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
ErrorLog logs/nexus/error.log
CustomLog logs/nexus/access.log common
nginx.
http {
proxy_send_timeout 120;
roxy_read_timeout 300;
proxy_buffering off;
keepalive_timeout 5 5;
tcp_nodelay on;
server {
listen *:80;
server_name www.example.com;
# allow large uploads of files - refer to nginx documentation
client_max_body_size 1G
# optimize downloading files larger than 1G - refer to nginx doc before adjusting
# proxy_max_temp_file_size 2G
location /nexus {
proxy_pass http://localhost:8081/nexus;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
}
}
}
5.SSLの構成(オプション)
Apache httpd. Ensure Apache httpd is loading mod_ssl.
Listen 443
ProxyRequests Off
ProxyPreserveHost On
SSLEngine on
SSLCertificateFile "example.pem"
SSLCertificateKeyFile "example.key"
ServerName repo.example.com
ServerAdmin [email protected]
ProxyPass / http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
RequestHeader set X-Forwarded-Proto "https"
ErrorLog logs/repo.example.com/nexus/error.log
CustomLog logs/repo.example.com/nexus/access.log common
nginx. Make sure nginx is compiled using the --with-http_ssl_module option.
http {
proxy_send_timeout 120;
proxy_read_timeout 300;
proxy_buffering off;
keepalive_timeout 5 5;
tcp_nodelay on;
server {
listen *:443;
server_name repo.example.com;
# allow large uploads of files - refer to nginx documentation
client_max_body_size 1G
# optimize downloading files larger than 1G - refer to nginx doc before adjusting
#proxy_max_temp_file_size 2G
ssl on
ssl_certificate example.pem;
ssl_certificate_key example.key;
location / {
proxy_pass http://localhost:8081/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For ←-
$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto "https";
}
}
}
倉庫紹介
1.エージェントウェアハウス(Proxy Repository)
名前の通りサードパーティの倉庫を代理しています.
バージョンポリシー(Version Policy):
ローカルにアップロードされたコンポーネントとリソースを格納するには、次のようにします.
導入ポリシー(Deployment Policy):
通常、複数のエージェント・ウェアハウスとホスト・ウェアハウスが含まれます.プロジェクトでは、ウェアハウス・グループを導入するだけで、エージェント・ウェアハウスとホスト・ウェアハウスのパッケージをダウンロードできます.たとえば、次のようになります.
ユーザーインタフェースの操作と管理は比較的簡単です.公式ドキュメントを参照してください.
Mavenとの統合
1.Server構成認証情報
Mavenでsettings.xmlにNexus認証情報を追加:
nexus-releases
admin
admin123
nexus-snapshots
admin
admin123
ReleaseバージョンとSnapshotバージョンの区別:
Release: 4.3.0
Snapshot: 4.3.0-SNAPSHOT
4.3.0-SNAPSHOT
がリリースされると4.3.0-SNAPSHOT-20160712.114532-1.jar
2.自動配置コンポーネントの構成
POMでxmlに次のコードを追加します.
nexus-releases
Nexus Release Repository
http://127.0.0.1:8081/repository/maven-releases/
nexus-snapshots
Nexus Snapshot Repository
http://127.0.0.1:8081/repository/maven-snapshots/
注意事項:
3.Nexus倉庫への配備
mvn deploy
4.サードパーティ製JARパッケージのアップロード
Nexus 3.0はページアップロードをサポートしていません.mavenコマンドを使用できます.
# JAR :aliyun-sdk-oss-2.2.3.jar
mvn deploy:deploy-file
-DgroupId=com.aliyun.oss
-DartifactId=aliyun-sdk-oss
-Dversion=2.2.3
-Dpackaging=jar
-Dfile=D:\aliyun-sdk-oss-2.2.3.jar
-Durl=http://127.0.0.1:8081/repository/maven-3rd/
-DrepositoryId=nexus-releases
注意事項:
-DrepositoryId=nexus-releases
はsettingsに対応する.xmlにおけるServer構成のID名.(承認)
nexus
Nexus Repository
http://127.0.0.1:8081/repository/maven-public/
true
true
nexus
Nexus Plugin Repository
http://127.0.0.1:8081/repository/maven-public/
true
true
注意事項: