gitlab搭建maven私服

  • 前言
  • gitlab搭建maven私服
  • 选择一个项目作为gitlabmaven仓库
  • 制作以及使用部署令牌
  • 制作部署令牌
  • 部署令牌的部署
  • 接下来我们给公共的依赖项目发版一个1.0.0版本
  • 首先配置pom相关的内容
  • 进行发布


前言

我目前使用的gitlab版本是15.7.1-jh

我看了有关于gitlab maven私服的很多文章
大家偏主流一点的 是使用 nexus3+gitlab 可能还加个Jenkins

而我是要独立使用gitlab作为maven私服

这里我要说说我对两种方式的理解
nexus3是所有的包都会缓存一份到这里,找不到再去maven中央服务器找。这里所有的包不仅仅包含公司项目依赖的内部项目,还包含你pom中的一切,其实跟maven本地仓库一样

而我为什么要独立使用gitlab呢?
这里有两个理由:
1.不想再引入新的组件
2.我只是需要将一个被依赖的内部项目打成jar被其他项目引用,对于pom中的其他依赖项,公司没有说为了更快还是节省网络资源而一定要再缓存一份,所以对我来说无所谓。步骤能更简单一点就简单一点是最好的。

gitlab搭建maven私服

选择一个项目作为gitlabmaven仓库

1.按照我以往的经验来看,这个maven仓库所基于的项目最好就是公共项目本身,但是如果公共项目有多个,那选择这种方案对于墙破症来说就会很难受
2.第二种就是单独的一个项目,只用来存放公共依赖,我比较推崇这种方案

制作以及使用部署令牌

gitlab的可以读写访问软件包库的令牌有很多种:
Private-Token(个人令牌)
Deploy-Token(部署令牌)
Job-Token(任务令牌)
我们选择的是第二种

制作部署令牌

然后去制作部署令牌

点开项目主页 -> 左边工具栏 把鼠标放到设置上 -> 选择仓库

github 搭建公共maven仓库 gitlab maven仓库_git


然后找到部署令牌项 -> 点击展开

github 搭建公共maven仓库 gitlab maven仓库_git_02


依次填写红框内容,并且确定令牌权限 -> 最后点击创建部署令牌

github 搭建公共maven仓库 gitlab maven仓库_github 搭建公共maven仓库_03


将您的令牌保存好

部署令牌的部署

找到你的本地maven目录 然后找到conf中的settings.xml文件进行编辑

github 搭建公共maven仓库 gitlab maven仓库_gitlab_04

<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标签的值不可更改,我们这种必须是这个名字,其他类型的令牌也有其他固定的名字
令牌的部署完成了

接下来我们给公共的依赖项目发版一个1.0.0版本

首先配置pom相关的内容
<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

github 搭建公共maven仓库 gitlab maven仓库_github 搭建公共maven仓库_05


然后id标签的值必须和你本地maven目录conf目录settings.xml文件中的 你刚刚部署的令牌的id一样

github 搭建公共maven仓库 gitlab maven仓库_gitlab_06


然后刷新maven

进行发布

在项目主目录下 打开命令行 mvn deploy

如果顺利的话你会看到有上传文件的动作

github 搭建公共maven仓库 gitlab maven仓库_java_07


然后就可以去项目主页 找到左侧菜单 中的软件包库

github 搭建公共maven仓库 gitlab maven仓库_maven_08


你会看到你发布的公共依赖包在这里

github 搭建公共maven仓库 gitlab maven仓库_gitlab_09


然后点击包路径名字

github 搭建公共maven仓库 gitlab maven仓库_git_10


你会看到他告诉你如何使用在你gitlab maven私服上的公共依赖

你需要对你需要使用依赖的pom添加这些东西