Docker 系列:部署nexus maven私服

    技术2024-01-22  109

    1.环境

    docker运行环境

    2.创建nexus挂载目录

    因为使用docker 容器化运行nexus,需要一个固定目录,用来挂载nexus存放的数据,这样容器的启动,停止,删除不会影响数据

    mkdir /opt/nexus-work && chown -R 200 /opt/nexus-work

    3.安装nexus

    docker运行

    docker run -d -p 9000:8081 -v /opt/nexus-work:/sonatype-work --name nexus sonatype/nexus:oss

     9000端口可根据你的需要设置

    4.nginx代理配置(非必须)

    有域名的时候可以使用nginx代理,不需要的话可以跳过此步骤

    (1.)安装nginx

    docker 运行nginx时候需要设置挂载目录

    我这里直接在linux系统中安装nginx,安装过程另见“Docker系列:安装nginx”

    (2.)配置域名

    用的是阿里云域名 域名/解析

    (3)配置nexus代理

    一般nginx位置在/etc/nginx/目录下 nginx.conf 里面添加

    server { listen 80; server_name www.xbmn.top; include /etc/nginx/default.d/*.conf; location / { 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_pass http://localhost:9000; } }

    (4)配置成功后,直接域名访问 http://www.xbmn.top/nexus

    如果配置了nginx,那就换一下域名,如果没有配置nginx,那就http://你得ip:端口/nexus,即可

    默认用户名和密码是admin admin123,登录后可修改密码

    4.创建maven仓库

    新建仓库

    将新建的仓库添加到pulic group里面

    5.上传jar到maven仓库

    gradle环境

    (1)修改build.gradle文件

    apply plugin: 'maven' apply plugin: 'maven-publish' //可运行包的分类器(打包成功后的会以项目名-boot为包名) bootJar.classifier = 'boot' jar.enabled = true [compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8' task sourcesJar(type: Jar, dependsOn: classes) { classifier = "sources" from sourceSets.main.allSource } artifacts { archives jar archives sourcesJar } uploadArchives { configuration = configurations.archives repositories.mavenDeployer { repository(url: "http://www.xbmn.top/nexus/content/repositories/zoe-maven/") { authentication(userName: "admin",password: "你的密码") } pom.project { name archivesBaseName url "http://www.xbmn.top/nexus/content/repositories/zoe-maven/" description 'zoesoft Development CommonUtils' groupId "public" artifactId archivesBaseName version version packaging "jar" } } }

    (2)添加一个工具类,并打包成jar上传

    (3)上传成功后,在nexus maven仓库中就可以看到新的jar

    6.使用jar

    gradle环境

    maven{ url "http://www.xbmn.top/nexus/content/repositories/zoe-maven/"}

     

    Processed: 0.010, SQL: 9