首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins作业不使用来自settings.xml的settings.xml

Jenkins作业不使用来自settings.xml的settings.xml
EN

Stack Overflow用户
提问于 2017-03-30 19:50:50
回答 1查看 1.8K关注 0票数 1

我有三个Jenkins Maven作业:一个构建和安装依赖项(JAR),两个使用这些依赖项来绑定可部署的WAR文件。

我已经将这三个作业配置为使用特定的settings.xml文件,虽然还不完全理解Settings fileGlobal Settings file之间的区别(即使在阅读了?之后也不清楚),但在Build下,我将两个字段设置为我希望使用的文件路径,以防万一:

/opt/maven/conf/settings.xml指定:

代码语言:javascript
复制
<localRepository>/var/lib/maven/repo</localRepository>

但是,依赖项被下载到不同的位置:/var/lib/jenkins/maven-repositories/1作为/var/lib/jenkinsJENKINS_HOME

控制台输出记录如下:

执行Maven:-B -f /var/lib/code/src/po.xml -s /opt/maven/conf/setings.xml -gs /opt/maven/conf/setings.xml干净安装-P depBuild

这是令人困惑的,因为maven.repo.local与-s和-gs下面列出的文件应该是不同的。

为什么它不在我告诉它使用的settings.xml中指定的本地回购中下载和安装依赖项?

以下是整个settings.xml:

代码语言:javascript
复制
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <localRepository>/var/lib/maven/repo</localRepository>

  <servers>
    <server>
      <id>build.tomcat.all</id>
      <username>buildman</username>
      <password>mypass</password>
    </server>
  </servers>


  <pluginGroups></pluginGroups>

  <proxies></proxies>

  <mirrors></mirrors>

  <profiles></profiles>

</settings>
EN

回答 1

Stack Overflow用户

发布于 2018-01-11 17:57:25

尝试使用配置文件提供程序插件配置它。安装此插件后,您可以在Managed>托管文件>中创建一个配置文件,添加一个新的Config > Maven settings.xml

它还从模板开始,这样您就可以修改所需的内容。我只是在注释的解释之后添加了<localRepository>标记。

然后,在Maven作业中,选择"provided settings.xml“并选择您刚刚创建的配置文件。

确保您在MAVEN_OPTS中没有任何覆盖选项,并且没有选中“使用私有Maven存储库”。

PS: --看起来你不需要用"Global settings.xml“来做这件事--你可以把它保留为”使用默认值“。我有限的理解是,全局设置影响到maven系统的所有用户,而非全局设置只影响运行maven的用户。我不认为这对大多数项目都很重要,但是如果您有一个特殊的项目,在不同的用户下执行一些shell,这可能是很重要的。(我只是猜测。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43127125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档