15

我有一个由多个团队共享的 Jenkins 集群,我可以在其上配置构建作业,但是我无法轻松更改 Jenkins 配置本身。

有一个中央“nexus pro”maven 存储库管理器,但是这个非常大的跨国公司中的每个团队/小组都有自己的存储库,发布到存储库需要用户名/密码组合。

这意味着我必须使用我正在使用的团队独有的 maven settings.xml 配置 Jenkins 服务器,而不会弄乱 Jenkins 集群的其他用户的 maven 配置。

Git 是源代码控制存储库。

  1. 在共享的 Jenkins 集群上,如何配置一组构建作业或单个作业独有的 maven settings.xml?处理这种情况的最佳做法是什么?
4

6 回答 6

20

我建议使用配置文件插件,它提供了一个 UI 来编辑一个或多个 Maven 设置文件。

可以使用“-s”选项将这些设置文件传递到您的 Maven 构建中。

于 2013-05-23T00:44:38.130 回答
2

您可以为 Maven 高级选项部分中的每个作业指定特定的 seetings.xml 路径

于 2013-05-22T08:01:36.580 回答
2

我们使用Puppet管理所有构建节点。它为您提供了比 settings.xml 更大的控制权。强烈推荐

Puppet 是 IT 自动化软件,可帮助系统管理员在其整个生命周期内管理基础架构,从供应和配置到补丁管理和合规性。使用 Puppet,您可以轻松地自动执行重复性任务,快速部署关键应用程序,并主动管理变更,从 10 台服务器扩展到 1000 台,无论是在本地还是在云中。

于 2013-05-28T14:26:14.737 回答
1

如果您的公司正在使用 Nexus Pro(正如您已经提到的),那么您唯一的 Maven settings.xml 可以存储在那里,并在构建时使用 nexus-maven-plugin 进行检索,如下所述:http://books。 sonatype.com/nexus-book/reference/maven-settings.html

结合基于令牌的访问(同样,Nexus Pro 会这样做),您不需要在 settings.xml 中不安全地存储密码(请参阅https://books.sonatype.com/nexus-book/reference/usertoken.html

于 2013-09-12T10:23:51.057 回答
1

我在使用 jenkins 构建项目时遇到了类似的问题,因为 ojdbc jar 在 maven 中央存储库中不可用。

当我将ojdbcjar 放在文件WEB-INF/lib夹中并删除.mavenpom.xml

于 2019-12-12T11:49:32.843 回答
0

使用特定配置自动配置 maven 执行器的一个好方法是使用ElasticBox Jenkins 插件

您只需要为 Maven 从站创建一个框,定义它要使用的所有自定义变量和文件,并选择您首选的云提供商来部署它。

ElasticBox还使您可以灵活地仅在需要时创建新的从属服务器,并在指定的保留时间后自动销毁它们。

以下是如何将 Jenkins 与 ElasticBox 连接:

https://elasticbox.com/documentation/integrate-with-jenkins/jenkins-elasticbox-setup/#jenkins-configure-plugin

以下是如何使用 ElasticBox 自动创建 Jenkins slave:

https://elasticbox.com/documentation/integrate-with-jenkins/jenkins-elasticbox-slaves/

有一篇关于如何使用 ElasticBox Jenkins 插件从 GitHub 拉取请求轻松构建和部署的博客文章:

https://elasticbox.com/blog/github-pull-requests-jenkinsplugin/

于 2015-05-27T16:36:34.860 回答