nexus 3
最新支持 Java
的 Maven
仓库、.Net
的 NuGet
仓库、Python
的 Pipy
仓库、 Ruby
的 Gem
仓库、 Nodejs
的 npm
仓库、 javascript
的 bower
仓库、 docker
的 registry
仓库及普通的文件仓库。
1. Java maven仓库
maven nexus 2 到 3 的源的修改
http://10.68.7.181:8081/repository/user_snapshot/
http://10.68.7.181:8081/nexus/content/repositories/user_snapshot/
http://10.68.7.181:8081/repository/user_release/
http://10.68.7.181:8081/nexus/content/repositories/user_release/
http://10.68.7.181:8081/repository/public/
http://10.68.7.181:8081/nexus/content/groups/public
其他配置
<snapshotRepository>
<id>user-snapshots</id>
<name>User Project SNAPSHOTS</name>
<url>http://10.68.7.181:8081/repository/user_snapshot/</url>
</snapshotRepository>
<repository>
<id>user-releases</id>
<name>User Project Release</name>
<url>http://10.68.7.181:8081/repository/user_release/</url>
</repository>
~/.m2/settings.xml
修改:
<settings>
<servers>
<!--your existing servers are here if any-->
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>user-snapshots</id>
<username>njproject</username>
<password>password</password>
</server>
<server>
<id>user-releases</id>
<username>njproject</username>
<password>password</password>
</server>
</servers>
</settings>
2. 普通文件仓库
通过http上传文件
curl -v --user 'admin:admin123' --upload-file ./test.png http://10.68.7.181:8081/repository/documentation/test.png
用maven上传普通文件
<distributionManagement>
<site>
<id>nexus</id>
<url>dav:http://10.68.7.181:8081/repository/site/</url>
</site>
</distributionManagement>
<build>
<plugins>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav-jackrabbit</artifactId>
<version>2.8</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
3. .Net NuGet 仓库
添加源
nuget sources add -name nuget-group -source http://10.68.7.181:8081/repository/nuget-group/
VS配置包管理
验证信息
4. Python pipy仓库
配置源
验证https证书
openssl verify <example-cerfificate>
添加源
pip.conf
[global]
index = https://10.68.7.181:8081/repository/pypi-all/pypi
index-url = https://10.68.7.181:8081/repository/pypi-all/simple
cert = nexus.pem
安装应用
pip install ipython
5. Nodejs npm仓库
添加源
npm config set registry http://10.68.7.181:8081/repository/npm-all/
或修改 .npmrc
registry = http://10.68.7.181:8081/repository/npm-all/
登录认证
$ npm login --registry=http://10.68.7.181:8081/repository/npm-internal
$ echo -n 'admin:admin123' | openssl base64
安装包
npm install grunt
推送包
npm publish --registry http://10.68.7.181:8081/repository/npm-internal/
修改 package.json
"publishConfig" : {
"registry" : "http://10.68.7.181:8081/repository/npm-internal/"
},
6. javascript bower仓库
配置源
安装bower nexus3插件
npm install -g bower-nexus3-resolver
或配置 package.json
"devDependencies" : {
"bower-nexus3-resolver" : "*"
}
配置 .bowerrc
{
"registry" : {
"search" : [ "http://10.68.7.181:8081/repository/bower-all" ],
"register" : "http://10.68.7.181:8081/repository/bower-internal"
},
"resolvers" : [ "bower-nexus3-resolver" ],
"nexus" : {
"username" : "myusername",
"password" : "mypassword"
}
}
bower安装包
bower install jquery
bower上传包
bower register example-package git://gitserver/project.git
bower install example-package
7. Ruby Gem仓库
gem源替换:
$ gem sources --add http://admin:admin123@10.68.7.181:8081/repository/rubygems-group/
$ gem sources --remove https://rubygems.org/
$ gem sources -c
gem安装应用
gem install package
推送包, 需要给gem安装nexus插件
$ gem install nexus
使用gem nexus 安装应用$ gem nexus example-1.0.0.gem
8. docker 仓库
认证
登录信息存储在 ~/.docker/config.json
docker login <nexus-hostname>:<repository-port>
端口号在nexus的以下位置配置: