赞
踩
我目前使用的gitlab版本是15.7.1-jh
我看了有关于gitlab maven私服的很多文章
大家偏主流一点的 是使用 nexus3+gitlab 可能还加个Jenkins
而我是要独立使用gitlab作为maven私服
这里我要说说我对两种方式的理解
nexus3是所有的包都会缓存一份到这里,找不到再去maven中央服务器找。这里所有的包不仅仅包含公司项目依赖的内部项目,还包含你pom中的一切,其实跟maven本地仓库一样
而我为什么要独立使用gitlab呢?
这里有两个理由:
1.不想再引入新的组件
2.我只是需要将一个被依赖的内部项目打成jar被其他项目引用,对于pom中的其他依赖项,公司没有说为了更快还是节省网络资源而一定要再缓存一份,所以对我来说无所谓。步骤能更简单一点就简单一点是最好的。
1.按照我以往的经验来看,这个maven仓库所基于的项目最好就是公共项目本身,但是如果公共项目有多个,那选择这种方案对于墙破症来说就会很难受
2.第二种就是单独的一个项目,只用来存放公共依赖,我比较推崇这种方案
gitlab的可以读写访问软件包库的令牌有很多种:
Private-Token(个人令牌)
Deploy-Token(部署令牌)
Job-Token(任务令牌)
我们选择的是第二种
然后去制作部署令牌
点开项目主页 -> 左边工具栏 把鼠标放到设置上 -> 选择仓库
然后找到部署令牌项 -> 点击展开
依次填写红框内容,并且确定令牌权限 -> 最后点击创建部署令牌
将您的令牌保存好
找到你的本地maven目录 然后找到conf中的settings.xml文件进行编辑
<settings>
<servers>
<server>
<id>gitlab-maven</id>
<configuration>
<httpHeaders>
<property>
<name>Deploy-Token</name>
<value>此处填写你刚刚创建的令牌密码</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>
然后将这段内容中的servers中的内容替换到你settings.xml文件中对应的标签内
其中需要注意name标签的值不可更改,我们这种必须是这个名字,其他类型的令牌也有其他固定的名字
令牌的部署完成了
<repositories> <repository> <id>gitlab-maven</id> <url><your_endpoint_url></url> </repository> </repositories> <distributionManagement> <repository> <id>gitlab-maven</id> <url>https://gitlab.example.com/api/v4/projects/<project_id>/packages/maven</url> </repository> <snapshotRepository> <id>gitlab-maven</id> <url>https://gitlab.example.com/api/v4/projects/<project_id>/packages/maven</url> </snapshotRepository> </distributionManagement>
其中<project_id>标签(包括尖括号)需要替换为你的项目主页展示的project_id
然后id标签的值必须和你本地maven目录conf目录settings.xml文件中的 你刚刚部署的令牌的id一样
然后刷新maven
在项目主目录下 打开命令行 mvn deploy
如果顺利的话你会看到有上传文件的动作
然后就可以去项目主页 找到左侧菜单 中的软件包库
你会看到你发布的公共依赖包在这里
然后点击包路径名字
你会看到他告诉你如何使用在你gitlab maven私服上的公共依赖
你需要对你需要使用依赖的pom添加这些东西
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。