我有一个由几个团队共享的Jenkins群集,我可以配置构建作业,但是我无法轻易地对Jenkins配置本身进行更改。
有一个中央“nexus pro”maven存储库管理器,但是这个非常大的跨国公司中的每个团队/团队都有自己的repo,发布到repos需要用户名/密码组合。
这意味着我必须使用maven settings.xml配置Jenkins服务器,这对我正在使用的团队来说是唯一的,而不会弄乱Jenkins群集的其他用户的maven配置。
Git是源代码控制存储库。
答案 0 :(得分:18)
我建议使用configuration file plugin,提供用于编辑一个或多个Maven设置文件的用户界面。
可以使用“-s”选项将这些设置文件传递到Maven构建中。
答案 1 :(得分:2)
您可以在Maven Advanced Options部分中为每个作业指定一个特定的seetings.xml路径
答案 2 :(得分:2)
我们使用Puppet管理所有构建节点。它提供了比settings.xml更强大的控制能力。强烈推荐
Puppet是一款IT自动化软件,可帮助系统管理员在整个生命周期内管理基础架构,从配置和配置到补丁管理和合规性。使用Puppet,您可以轻松实现重复性任务的自动化,快速部署关键应用程序,主动管理变更,从10台服务器扩展到1000台,内部部署或云端。
答案 3 :(得分:1)
如果您的公司正在使用Nexus Pro(正如您已经提到过的那样),那么您可以在那里存储您独特的Maven settings.xml,并在构建时使用nexus-maven-plugin检索,如下所述:{{3 }}
结合基于令牌的访问(同样,Nexus Pro执行此操作),您不需要在settings.xml中不安全地存储密码(请参阅http://books.sonatype.com/nexus-book/reference/maven-settings.html)
答案 4 :(得分:1)
当使用jenkins构建项目时,由于在maven中央存储库中没有ojdbc jar,我遇到了类似的问题。
当我将ojdbc
罐子放在WEB-INF/lib
文件夹中并删除了maven
中的pom.xml
依赖项时,它起作用了。
答案 5 :(得分:0)
使用ElasticBox Jenkins plugin自动配置具有特定配置的maven执行程序的好方法是使用。{/ p>
您只需要为Maven slave创建一个框,它定义了它所使用的所有自定义变量和文件,并选择您首选的云提供程序来部署它。
ElasticBox还可以灵活地在需要时创建新的奴隶,并在指定的保留时间后自动销毁它们。
以下是如何将Jenkins与ElasticBox连接:
以下是如何使用ElasticBox自动创建Jenkins从属设备:
https://elasticbox.com/documentation/integrate-with-jenkins/jenkins-elasticbox-slaves/
有一篇关于如何使用ElasticBox Jenkins插件从GitHub拉取请求轻松构建和部署的博客文章:
https://elasticbox.com/blog/github-pull-requests-jenkinsplugin/