nexus3.x +Ubuntu+Gradle 私服搭建
前言
此文章记录nexus3.16版本的仓库搭建及其中遇到的问题解决。
步骤
- 搭建docker的环境(可自行百度ubuntu下docker环境的搭建)
- 因为nexus3起,其已经支持docker 镜像的运行,且本身也封装成了docker的镜像,可直接在dockerHub上进行搜索.
- 在ubuntu下执行如下运行指令,可将此指令保存为start.sh文件,并设置chmod +x start.sh设置其为可执行文件
#!/bin/sh
docker run -it -d \
--privileged=true \
-p 8081:8081 \
--restart always \
--name nexus \
-v /home/zjr/nexus/nexus-data:/nexus-data
sonatype/nexus3
如上:
-it -d 设置后台运行
–privileged=true 授予root权限(挂载多级目录的话这里需要设置为true,否则容器访问宿主机的权限会不足)
-p:设置了端口为8081,
–name:设置镜像名称为nexus,
-v :镜像中的路径nexus-data映射为ubuntu中自己设置的路径: /home/zjr/nexus/nexus-data,用户可自行创建自己的路径进行映射。
4. 执行完上述的指令后,可通过如下docker指令进行查看容器是否正常运行
docker ps
也可以通过命令进行端口查看是否正常运行
lsof -i:8081
- 服务正常运行后,稍候1-5分钟(根据个人机器性能),可通过网址进行查看:http://localhost:8081
- 第五步可能一直打不开,因为ubuntu防火墙的原因,可执行如下指令关闭防火墙及端口使能
1、关闭ubuntu的防火墙
ufw disable
2.开启防火墙
ufw enable
3.配置iptables
iptables -F
7.正常打开web前端后,可进行仓库的配置,可自行百度nexus3.x的安装配置
8.在IDEA中的gradle脚本中进行如下仓库的替换(其中ip可更改为你自己的服务器ip)
maven { url 'http://192.168.25.215:8081/repository/maven-public/'}
问题
- 配置后,依赖一直下载不下来,显示ReadTimeOut的问题
可能是客户机的IDEA的配置出了问题,比如开了VPN的配置,可把C:\User{你的用户名}.gradle下的gradle.properties(若存在的话),看看里面是不是配置了代理配置,把代理配置屏蔽掉
附加(Gradle上传jar包到私服)
//打包源码
task sourceJar(type: Jar) {
from sourceSets.main.allJava
}
publishing {
publications {
maven(MavenPublication) {
//指定group/artifact/version信息,可以不填。默认使用项目group/name/version作为groupId/artifactId/version
groupId 'com.gosuncn'
artifactId 'commoncode'
version '1.0.0'
//如果是war包填写components.web,如果是jar包填写components.java
from components.java
//配置上传源码
artifact sourceJar {
classifier "sources"
}
}
}
repositories {
maven {
//指定要上传的maven私服仓库
url = "http://192.168.25.215:8081/repository/vds-commoncode/"
//认证用户和密码
credentials {
username 'admin'
password 'admin123'
}
}
}
}
如上配置,更换自己的私服仓库,在Gradle的侧边栏点击publishing