如何为单个用户创建多个Maven m2存储库

如何为单个用户创建多个Maven m2存储库,maven,jenkins,Maven,Jenkins,我正在同一台服务器上设置2个jenkins实例。我想分别为两个jenkins创建两个本地maven存储库。詹金斯一号已经准备好了,我不想碰它 当两个jenkins都作为同一个用户运行时,我们可以为单个用户提供两个本地maven存储库吗 有没有什么方法可以把maven从jenkins指向新的存储库 谢谢 AI您可以在下的设置.xml中指定本地存储库 或者,也可以在命令行中指定它,如下所述: 您可以在下的设置.xml中指定本地存储库 或者,也可以在命令行中指定它,如下所述: Maven配置发生在3

我正在同一台服务器上设置2个jenkins实例。我想分别为两个jenkins创建两个本地maven存储库。詹金斯一号已经准备好了,我不想碰它

当两个jenkins都作为同一个用户运行时,我们可以为单个用户提供两个本地maven存储库吗

有没有什么方法可以把maven从jenkins指向新的存储库

谢谢


AI

您可以在
下的
设置.xml
中指定本地存储库

或者,也可以在命令行中指定它,如下所述:


您可以在
下的
设置.xml
中指定本地存储库

或者,也可以在命令行中指定它,如下所述:

Maven配置发生在3个级别:
◾ 项目-大多数静态配置出现在pom.xml中
◾ 安装-这是为Maven安装添加的一次配置
◾ 用户-这是特定于特定用户的配置

Maven
settings.xml
文件中读取设置,该文件可以位于
${M2\u HOME}/conf/settings.xml
以及
${user.HOME}/.M2/settings.xml

<settings>
  ...
  <localRepository>/path/to/local/repo/</localRepository>
  ...
</settings>

...
/路径/到/本地/回购/
...
本地maven存储库的默认值为
${user.home}/.m2/repository/

尽管您在两个Jenkins上使用相同的用法,但请记住,在节点上运行的作业可以由不同的用户启动(如果通过SSH),但读取的是该节点用户的
${user.home}
,而不是运行Jenkins本身的用户(请参阅下面的节点注释)

为给定用户获取两种不同
的最简单方法是什么?


Jenkins具有Maven的全局工具配置(
${Jenkins_URL}/configureTools
):

在同一页面的下一页,您必须配置Maven安装

您可以选择全局工具配置| Maven配置以不使用默认的Maven设置(上面提到的两个),并从文件系统中指定一个:

一个实例选择
${user.home}/.m2/settings.J1.xml

,另一个实例选择
${user.home}/.m2/settings.J2.xml

<settings>
  ...
  <localRepository>/path/to/local/repo/</localRepository>
  ...
</settings>
或者,您甚至可以选择两个不同的“Maven安装”,使用不同的
Maven_HOME
,然后在每个安装中使用不同的
${M2_HOME}/conf/settings.xml
(笨拙,但有时有用)

特定工作回购? 但是,如果磁盘空间不是真正的问题,您可以更进一步,为每个作业提供自己的私有本地存储库。当使用-SNAPSHOT在并行、并行分支和其他场景中构建共享库时,这尤其方便。在maven步骤中的高级…选项下,选择
[X]使用私有maven存储库。该存储库最终驻留在
${WORKSPACE}/.repository
中。建议添加以帮助管理您的共享空间

还可以根据每个作业指定特定的文件系统settings.xml

特定节点回购? 此外,每个节点都有自己的节点属性,可以再次自定义“工具位置”。您可以在此处覆盖“(Maven)Home”位置(但不能覆盖设置位置)

[

管道 如中所述,如果使用管道,也支持并可配置所有这些

额外插件 最后,如果您不喜欢将所有这些
设置.xml
放在文件系统中的想法,您可以安装,它允许您在Jenkins中存储自定义
设置.xml
。安装后,全局工具配置(如图所示)和作业步骤现在可以从您创建的“提供的设置.xml”选项:

Maven配置发生在3个级别:
◾ 项目-大多数静态配置出现在pom.xml中
◾ 安装-这是为Maven安装添加的一次配置
◾ 用户-这是特定于特定用户的配置

Maven
settings.xml
文件中读取设置,该文件可以位于
${M2\u HOME}/conf/settings.xml
以及
${user.HOME}/.M2/settings.xml

<settings>
  ...
  <localRepository>/path/to/local/repo/</localRepository>
  ...
</settings>

...
/路径/到/本地/回购/
...
本地maven存储库的默认值为
${user.home}/.m2/repository/

尽管您在两个Jenkins上使用相同的用法,但请记住,在节点上运行的作业可以由不同的用户启动(如果通过SSH),但读取的是该节点用户的
${user.home}
,而不是运行Jenkins本身的用户(请参阅下面的节点注释)

为给定用户获取两种不同
的最简单方法是什么?


Jenkins具有Maven的全局工具配置(
${Jenkins_URL}/configureTools
):

在同一页面的下一页,您必须配置Maven安装

您可以选择全局工具配置| Maven配置以不使用默认的Maven设置(上面提到的两个),并从文件系统中指定一个:

一个实例选择
${user.home}/.m2/settings.J1.xml

,另一个实例选择
${user.home}/.m2/settings.J2.xml

<settings>
  ...
  <localRepository>/path/to/local/repo/</localRepository>
  ...
</settings>
或者,您甚至可以选择两个不同的“Maven安装”,使用不同的
Maven_HOME
,然后在每个安装中使用不同的
${M2_HOME}/conf/settings.xml
(笨拙,但有时有用)

特定工作回购? 但是,如果磁盘空间不是一个真正的问题,您可以更进一步,为每个作业提供自己的私有空间