当前位置: 首页 > Linux

Linux搭建自己的Nexus私服

时间:2023-04-06 21:59:50 Linux

本文介绍如何通过Docker在Linux服务器上搭建Nexus私服1.安装Nexus1并创建存放数据的位置#进入一个目录,可以cd/srv#创建一个foldermkdirnexus-data#给权限,否则启动会报错,无操作权限chmod777nexus-data2,启动执行以下命令,会自动拉取镜像并启动dockerrun-d-p8081:8081--namenexus-v/srv/nexus-data:/nexus-data--restart=alwayssonatype/nexus3通过dockerlogs-fnexus查看启动日志。当出现StartedSonatypeNexusOSS时,表示启动成功。这个时候可以通过http://ip:8081访问,点击右上角的Signin登录,账号是admin,密码需要在镜像中查看#进入镜像dockerexec-itnexusbash#查看密码,登录框会提示路径,然后复制即可,登录成功后就可以修改密码了cat/nexus-data/admin-password此时,启动完成。进入首页后,点击左侧菜单栏的浏览,可以查看您拥有的仓库。二、Nexus仓库1.仓库类型Nexus有四种仓库,四种仓库类型a.仓库仓库名称描述maven-centralmaven中央仓库,默认来自https://repo1.maven.org/maven...maven-releases私有库发布版jarmaven-snapshots私有库快照(debug版)jarmaven-public仓库分组,合并以上三个仓库共同对外提供服务,在本地maven基本配置设置中使用b。项目的发布仓库(内部开发者,发布存储的仓库)proxy(代理类型)是从远程中央仓库找数据的仓库(可以点击对应仓库的Configuration选项卡,取值theRemoteStorageLocation属性是proxed.remote仓库的路径)virtual(虚拟类型)虚拟仓库(这个基本不用,重点介绍上面三个仓库的使用)2.拉取jar包过程Maven可以直接从宿主仓库下载组件,也可以从代理仓库下载组件,代理仓库间接从远程仓库下载并缓存组件。为了方便,Maven可以从仓库组下载组件,而仓库组是没有实际内容的(下图中虚线所示,会转向包含的宿主仓库或代理仓库获取实际组件内容)3.创建仓库经过上面的讲解,我们已经对仓库有了一个了解,继续下一步,我们来创建仓库,分为代理仓库、托管仓库和仓库组。点击首页的小螺丝,选择Repositories,进入仓库管理列表,然后我们就可以开始创建我们的仓库了。那么在选择仓库类型的时候一定要选择maven2a,proxy代理仓库我们使用的是阿里的中央仓库b,hostedhostwarehouse这里可以创建release和snapshot类型的仓库,这里演示ac,group仓库group3.项目配置经过前两章,我们已经在Linux服务器上部署了nexus,并创建了我们的仓库。接下来,我们将尝试在项目中进行配置1.创建一个Maven项目。为了演示,就创建一个工具类来玩,下面是目录结构2.pom文件。这里我配置了发布仓库来演示。其实应该同时配置快照仓库。Maven会判断版本后面是否有-SNAPSHOT。如果是,则发布到快照仓库,否则发布到发布仓库4.0.0com.gjingdemo1.0demoSpringBoot演示项目1.8UTF-8releaseshttp://你的nexus仓库的IP:8081/repository/me-release/org.apache.maven.pluginsmaven-compiler-plugin3.8。11.81.8org.apache.maven.pluginsmaven部署-plugin2.8.23.maven配置设置文件的id必须和项目中一致pom文件releasesadminadmin1234.发布如果你使用的是IDEA开发工具,可以直接在右侧工具栏的Maven工具上点击deploy,也可以直接在命令行进入本项目根目录进行mvndeploy。这个时候我们的jar包也会出现在nexus私服上。发布成功。5、使用nexus作为maven项目的远程仓库有两种方式。首先是修改项目的pom.xml,让单个项目使用nexus仓库;另一种是修改mavensetti的配置文件ngs.xml改成所有项目都使用nexus仓库。我们这里采用第二种方式,只需要setting.xml。还有就是拉jar的私服仓库地址,只要写上我们的仓库组就可以了,因为这个组在创建的时候已经包含了另外三个仓库1.settings.xml文件找镜像在maven设置文件中。添加我们群仓库的镜像,url可以填我们创建的群地址,id,name随便填,mirrorOf可以和我的一样写mynexusmyselfnexusrepositoryhttp://xxx:8081/repository/me-group/central2.仅验证需要在其他项目中导入pom文件,导入成功后我们刚刚定义的工具类就可以在项目中正常使用了。现在整个过程结束了。有什么问题欢迎在评论区告诉我!!!